oracle单表重复数据处理

来源:互联网 发布:电脑语音录入软件 编辑:程序博客网 时间:2024/06/05 05:54
1、查询表中多余的重复记录,重复记录是根据peopleId来判断
select * from people where    where peopleId in (select  peopleId from people group by peopleId having count(peopleId)        )

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


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


1 0
原创粉丝点击