可能重复:
Mysql重复行(使用2列检测到重复)
在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
Run Code Online (Sandbox Code Playgroud)
我怎么能够基于从数据库中选择行只有标题和时间?重复的域或ID不是问题,只有其他两个字段.
我希望能够检索第32,33和36行,因为它们具有相同的标题和相同的时间.
我不想要输入标题或时间,我希望查询返回所有在这两个字段上找到"重复"匹配的字段,无论是只有两个还是50个.这样我就可以通过编辑或删除一些重复项.
小智 65
这就是你想要的
SELECT title, time
FROM table
GROUP BY title, time
HAVING count(*) > 1
Run Code Online (Sandbox Code Playgroud)
Wol*_*ang 34
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
)
Run Code Online (Sandbox Code Playgroud)