检查db中的dupes是否有两行

时间:2015-09-30 08:14:09

标签: mysql sql

我想在MySQL中检查dupes,比较两列:

链接副本不匹配,因为它是关于在特定列上查找重复值。这个问题是关于找到具有所述重复值的行。

示例:

id    Column1    Column2
-------------------------
       3          1     <-This row is a dupe
       3          2
       3          3
       3          1     <-This row is a dupe

我想要一个这样的列表:

id    Column1    Column2
-------------------------
        3        1
        3        1

这个查询应该如何?

我的想法:

SELECT * FROM table
WHERE Column1 && Column2 is a dupe ;)

3 个答案:

答案 0 :(得分:2)

您可以使用它来查找重复项:

SELECT column1, column2
 FROM yourtable
 GROUP BY column1, column2
 HAVING count(*) > 1;

要显示实际的重复行,您可以JOIN针对上述查询的结果:

SELECT * FROM yourtable yt1
 JOIN (SELECT column1, column2
 FROM yourtable
 GROUP BY column1, column2
 HAVING count(*) > 1) yt2 ON (yt2.column1=yt1.column1 AND yt2.column2=yt1.column2);

答案 1 :(得分:0)

select * , count(column1)
from table
group by column1, column2
having (count(column1) >1)

这是一个解决方案。你将获得所有存在超过一次的列。和小组一起收集。计数也可以在两个或第二列上进行,这不是那么重要

答案 2 :(得分:0)

你可以试试这个。这将为您提供所有重复的条目

select column1,column2 from table_name group by column1,column2 having count(column1)>1