love fish大鹏一曰同风起,扶摇直上九万里

常用链接

统计

积分与排名

friends

link

最新评论

删除数据库中重复记录的SQL语句(转)

在几千条记录里,存在着些相同的记录,如何能用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)


posted on 2007-03-20 17:07 liaojiyong 阅读(5112) 评论(7)  编辑  收藏 所属分类: MSSQL

评论

# re: 删除数据库中重复记录的SQL语句(转) 2007-10-10 16:27 haung

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


谢过!行不通!
  回复  更多评论   

# re: 删除数据库中重复记录的SQL语句(转) 2007-11-29 09:53 黑皮

楼上猪啊,没有经过自己思考,就下结论  回复  更多评论   

# re: 删除数据库中重复记录的SQL语句(转) 2008-11-24 11:01 阿道夫

你自己试过了吗?就在这说,我怎么弄也删除不了啊。你的rowid系统会提醒你这个列名无效,rowid是什么东西,你清楚吗?  回复  更多评论   

# re: 删除数据库中重复记录的SQL语句(转) 2008-12-27 23:18 evilisland

@阿道夫
rowid中是一个代称,要根据你的自己情况来变  回复  更多评论   

# re: 删除数据库中重复记录的SQL语句(转) 2010-05-14 11:44 蜀山幽狼

好东西,我转走了。谢谢楼上的好东西。  回复  更多评论   

# re: 删除数据库中重复记录的SQL语句(转)[未登录] 2011-02-14 14:04 kai

如果没有rowid这字段可以利用的话,那不是行不通了  回复  更多评论   

# re: 删除数据库中重复记录的SQL语句(转) 2011-11-01 11:45 ··

@阿道夫
在ORACLE里的东西  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: