1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

select * from people   

where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 

删除表中多余的重复记录,重复记录是根据单个字段(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)   

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。