在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢?
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)
相关推荐
用SQL删除重复记录的N种方法 用SQL删除重复记录的N种方法
SQL,删除重复记录的方法,详细介绍了4种常用方法,将重复记录删除 只保留1条记录
最基本的四种SQL语句删除重复记录的方法
在SQL中删除重复记录(多种方法).有兴趣的可以下载
本文介绍了用四种方法教你如何用SQL语句删除重复记录。
筛选重复行,删除重复行 使用游标来实现。 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)...
在SQL中删除重复记录多种方法在SQL中删除重复记录多种方法
查询及删除oracle重复记录的SQL语句
删除重复记录 删除数据表中的重复记录,包括MySQL、SQL Server、Oracle等
sql删除表中重复记录方法,很实用啊,我用过此方法。
SQL重复记录查询与删除 过滤重复字记录,单字段重复,重复的只显示1条记录,并且显示出所有字段 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 只能显示哪些记录是重复的。 2、删除表中...
查询SQL重复记录的几种方法总结,删除SQL重复记录查
SQL语句查询所有的重复记录,删除所有的重复记录,查找指定的重复记录
sql查询表中某字段下所有重复的记录,删除某字段下重复记录最小的那笔记录
使用Oracle查询并删除重复记录的SQL语句
该文档是本人在实验过程中遇到的一个需求,之后解决了,特此写一个文档,实现一条SQL语句删除数据库某一个表中重复的记录。(重复的记录只保留一条,其他的被删除)
最高效的删除重复记录方法
教你如何在SQL数据库后台通过SQL语句删除重复SQL记录。
Oracle查询重复数据与删除重复记录方法,Oracle查询重复数据与删除重复记录方法
mysql彻底理解删除重复记录sql脚本,只保留一条记录