【SQL语句】SQL重复记录查询-漏蛧尐魚℡
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-查询/SQL语句


【SQL语句】SQL重复记录查询

发表时间:2013/5/9 8:07:38 评论(8) 浏览(12663)  评论 | 加入收藏 | 复制
   
摘 要:SQL重复记录查询
正 文:
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from
 people
where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1
)
 例二:
 select * from testtable
 where numeber in (select number from people group by number having count(number) > 1 )
 可以查出testtable表中number相同的记录

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
)

Access软件网交流QQ群(群号:198465573)
 
 相关文章
【access示例】用查询统计重复项出现的次数\统计重复数  【缪炜  2012/9/25】
【Access入门】查询统计不重复项个数  【宏鹏  2012/10/10】
【Access入门】查询无重复,查询唯一值的示例  【麥田  2013/3/8】
常见问答
技术分类
相关资源
文章搜索
关于作者

漏蛧尐魚℡

文章分类

文章存档

友情链接