MySQL删除重复记录的方法

MySQL删除重复记录是我们经常用到的操作,下面为您介绍了5种MySQL删除重复记录的方法,如果您感兴趣的话,不妨一看。

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
delete from people
where peopleId  in (select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1)
and rowid not in (select min(rowid) from  people  group by peopleId  having count(peopleId )>1)

3、查找表中多余的重复记录(多个字段)
select * from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count(*) > 1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
 

 

 

【编辑推荐】

使用MySQL临时表加速查询

教您如何合理使用MySQL索引

5种常见的MySQL日志类型

自动恢复MySQL日志文件的方法

如何使用新的MySQL更新日志

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/283002.html<

(0)
运维的头像运维
上一篇2025-05-13 17:42
下一篇 2025-05-13 17:43

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注