查询及删除重复记录的SQL语句
来源:互联网 发布:eos m5 评价相机知乎 编辑:程序博客网 时间:2024/06/05 07:24
1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断
select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1)
2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录
DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) AND ROWID NOT IN (SELECT MIN(ROWID) FROM 表 GROUP BY id HAVING COUNT(*) > 1);
3、查找表中多余的重复记录(多个字段)
select * from 表 a where (a.Id,a.seq) in(select Id,seq from 表 group by Id,seq having count(*) > 1)
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count() > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count()>1)
5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count() > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count()>1)
========================================
注:sql对单个字段去重,显示所有列
select * from 表名
where 要去重的字段 in
(select max(要去重的字段) from 表名 group by 要去重的字段 )
oracle 简单去重过程:
http://www.cnblogs.com/yi88/p/3230493.html
- 转-查询及删除重复记录的SQL语句
- 查询及删除重复记录的SQL语句
- 查询及删除重复记录的SQL语句
- oracle查询及删除重复记录的SQL语句
- 查询及删除重复记录的SQL语句
- Oracle查询及删除重复记录的SQL语句
- 查询及删除重复记录的SQL语句
- 查询及删除重复记录的SQL语句
- 查询及删除重复记录的SQL语句
- 查询及删除重复记录的SQL语句
- 查询及删除重复记录的SQL语句
- 查询及删除重复记录的SQL语句
- [转帖]查询及删除重复记录的sql 语句(具有代表性)
- Oracle 查询并删除重复记录的SQL语句
- 查询并删除重复记录的SQL语句
- 查询并删除重复记录的SQL语句
- Oracle 查询并删除重复记录的SQL语句
- Oracle 查询并删除重复记录的SQL语句
- ubuntu设置root密码
- source insight删除没用的project
- 我的EasyUI使用心得
- QT之opencv人脸识别,瞳孔检测
- 【PAT】【Advanced Level】1030. Travel Plan (30)
- 查询及删除重复记录的SQL语句
- Linux基础(一)(3)文件管理
- Java开源Spring 对象校验库 Mines
- spring-boot-actuator
- UCOS_III(原子战舰STM32)学习笔记一
- 【JavaScript学习】注意JavaScript没有块级作用域
- plsqldeveloper默认主界面左边设置
- 解决Dynamic Web Module 3.1 requires Java 1.7 or newer
- 十一.scrapy 爬取百度相关搜索主题信息内容