可能重复:
Mysql Duplicate Rows ( Duplicate detected using 2 columns )
在MySQL数据库中,我有很多行。例如:
id | title | time | domain
32 title1 12:30 domain1.com
33 title1 12:30 domain2.com
34 title2 14:20 domain1.com
35 title3 14:30 domain2.com
36 title1 12:30 domain55.com
如何根据仅标题和时间从数据库中选择行?重复的域或ID不受关注,只有其他两个字段。< / p>
我希望能够检索第32,33和36行,因为它们具有相同的标题和相同的时间。
我不想要输入标题或时间,我希望查询返回所有在这两个字段上找到“重复”匹配的字段,无论是只有两个还是50个。这样我就可以浏览并编辑或删除一些副本。
答案 0 :(得分:64)
这是你想要的
SELECT title, time
FROM table
GROUP BY title, time
HAVING count(*) > 1
答案 1 :(得分:32)
select distinct id, title, time
from table t1
where exists (select *
from table t2
where t2.id <> t1.id
and t2.title = t1.title
and t2.time = t1.time
)