删除数据库表中的重复数据
来源:互联网 发布:路由器禁止mac地址 编辑:程序博客网 时间:2024/06/06 00:28
代码
delete from tbl where (id) in( select id from ( select id from tbl where (name,age) in ( select name,age from tbl group by name,age having count(*)>1 ) and id not in ( select min(id) from tbl group by name,age having count(*)>1 ) )tbl)
详解
- 1
select name,age from tbl group by name,age having count(*)>1
搜索名字和年龄相同的数据
- 2
select min(id) from tbl group by name,age having count(*)>1
搜索出名字和年龄相同的数据中id最小的列
- 3
select id from tbl where (name,age) in ( select name,age from tbl group by name,age having count(*)>1 ) and id not in ( select min(id) from tbl group by name,age having count(*)>1 )
将第一句sql和第二句sql合并 not in 表示排除,
产生一个新的所有符合标准的id所有值
- 4
select id from ( select id from tbl where (name,age) in ( select name,age from tbl group by name,age having count(*)>1 ) and id not in ( select min(id) from tbl group by name,age having count(*)>1 ) )tbl
由于在mysql中,必须要在外部再包含一个sql 所以这个不能少
- 5
delete from tbl where (id) in( select id from ( select id from tbl where (name,age) in ( select name,age from tbl group by name,age having count(*)>1 ) and id not in ( select min(id) from tbl group by name,age having count(*)>1 ) )tbl)
最后 所有符合标准的id 全部删除即可
阅读全文
0 0
- 删除数据库表中的重复数据
- 删除数据库表中的重复数据
- 删除数据库中的重复数据
- oracle数据库中的重复数据的删除
- 删除表中的重复数据
- 删除数据库重复数据
- 数据库删除重复数据
- 删除数据库重复数据
- 数据库删除重复数据
- 数据库删除重复数据?
- 【数据库】MySQL删除表中重复数据
- Oracle数据库删除表中重复数据
- 删除表中的重复记录数据
- oracle删除表中的重复数据
- SQLServer 删除表中的重复数据
- 如何删除表中的重复数据
- Sql Server 删除表中的重复数据
- 如何删除数据表中的重复数据(各种数据库)
- 圆形div阴影显示图
- 用python介绍4种常用的单链表翻转的方法。
- 2018小红书笔试题第二题
- 头像控件和圆角图片
- 2018小红书笔试题第三题
- 删除数据库表中的重复数据
- kamon文档翻译(六)--操作TraceContext
- ELF
- 计蒜客之最长不重复子串
- handlebars解决HTML escaping Html转义(解决那些标签需要作为html标签,哪些作为普通字符串处理)
- python---模拟一下
- 完整版在IDEA上使用GitHub进行项目开发
- BZOJ 2301 莫比乌斯反演
- 20170928