嗯,我知道关于这个查询已经有很多问题,但是没有问题可以解决我的问题。
我是下表
id name link year
1 t1 x1 2013
2 t5 x2 1990
3 t3 x1 2013
4 t2 x9 2011
现在我希望将重复记录与两列结合起来 结果应该是
id name link year
1 t1 x1 2013
3 t3 x1 2013
这是我到目前为止所尝试的内容
SELECT * FROM table GROUP BY `link`, `year` HAVING COUNT(*) > 1
并且它只返回一行(第二行),因此,您的帮助将受到高度赞赏。
答案 0 :(得分:2)
您可以使用聚合找到有多行的链接和年份组合。您必须将其与原始表一起加入以获取这些链接和年份的所有行。
select *
from table t
join (
select link, year
from table
group by link, year
having count(*) > 1
) t2 using (link, year);