Oracle 删除重复数据只留一条
2015-12-03 16:40
477 查看
Oracle 删除重复数据只留一条
查询及删除重复记录的SQL语句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)
相关文章推荐
- Oracle内存详解之一 整体架构
- Oracle数据库单表循环提取输出
- 关于oracle11G的自动内存管理MEMORY_TARGET和MEMORY_MAX_TARGET
- Oracle内连接、外连接、右外连接、全外连接小总结
- 查看 Oracle 是用spfile 启动还是 pfile 启动
- Oracle SQL实现分页查询
- oracle10g 安装与配置的使用
- Oracle监听服务没有
- 问题:oracle DECLARE 变量重复利用;结果:Oracle 定义变量总结
- oracle根据分隔符将字符串分割成数组函数
- ORACLE UPDATE FROM 写法变通
- Oracle物理体系总结
- Oracle拆分字符串,字符串分割的函数。
- Data Base System.Data.OracleClient requires Oracle client software version 8.1.7 or greater解决方案
- Oracle物理体系结构图
- oracle,如何查看视图结构,获得视图中的字段名称、字段类型、字段长度等。
- ORACLE PL/SQL编程之八: 把触发器说透
- Oracle之trunc函数使用
- Oracle之一份标准日历表的构建
- Oracle之第一天和最后一天