Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

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

时 间:2013-05-09 08:07:38
作 者:漏蛧尐魚℡   ID:6392  城市:昆山
摘 要: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群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助