MySQL: 查找重复/冲突行

3

我知道关于这个查询已经有很多问题了,但是没有一个能解决我的问题。

我有以下表格:

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

它只返回了一个(第二个)行,因此,非常感谢您的帮助。

1个回答

2

您可以使用聚合来查找具有多个行的链接和年份组合。 您需要将其与原始表格连接以获取这些链接和年份的所有行。

select *
from table t
join (
    select link, year
    from table
    group by link, year
    having count(*) > 1
    ) t2 using (link, year);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接