oracle 重复数据处理的sql整理
来源:互联网 发布:淘宝专业版和智能版 编辑:程序博客网 时间:2024/06/04 20:21
Oracle 删除重复数据只留一条
1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断
2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录
3、查找表中多余的重复记录(多个字段)
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
注意:如果查询的是结果集则不能使用ROWID 则可使用唯一区分的字段ID
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)
注意:如果查询的是结果集则不能使用ROWID 则可使用唯一区分的字段ID
0 0
- oracle 重复数据处理的sql整理
- oracle 重复数据处理操作
- sql重复数据处理
- oracle单表重复数据处理
- oracle中SQL查询重复的语句
- 重复数据处理
- 今日工作中有关SQL Server数据库中数据处理的方法整理
- Oracle维护SQL整理
- Oracle 维护SQL整理
- Oracle SQL Hint 整理
- Oracle 常用SQL整理
- Oracle常用SQl整理
- oracle SQL语句整理
- ORACLE SQL整理笔记
- oracle sql整理
- Oracle SQL语句整理
- awk的类sql数据处理
- awk的类sql数据处理
- linux命令之----chkconfig命令用于检查,设置系统的各种服务
- java 不同线程之间的切换(wait和notify)
- Redis的安装和部署
- Python学习笔记
- 管道piep使用ReadFile读取阻塞问题解决
- oracle 重复数据处理的sql整理
- Javascript 中Array的操作
- 在win7上安装PHP NGINX的坑爹问题……
- oracle with as用法
- 如何准确判断 WebView 加载完成
- 用PDB库调试Python程序
- oracle where条件分支查询
- Maven POM文件详解以及继承关系
- compileSdkVersion、minSdkVersion 以及 targetSdkVersion 的含义