关于Oracle中重复数据的处理
2014-06-30 16:23
330 查看
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)、查找表中多余的重复记录(多个字段)
slect * 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)
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)、查找表中多余的重复记录(多个字段)
slect * 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)
相关文章推荐
- oracle10g- oracle关于数据操作时异常的处理 编写自定义的异常
- direct=true 错误处理方法 (关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法
- 处理Clob数据(转)关于oracle中大对象处理的一些方法和实例
- oracle10g- oracle 关于集合数据的处理 cursor 游标
- 关于oracle查找重复数据
- oracle 关于表中重复记录的处理
- 【oracle】sql处理重复数据
- oracle去重复数据的处理方法
- Oracle创建主键时处理重复数据的程序
- oracle处理重复插入数据
- 关于oracle读取数据时,自动进行HASH处理的隐含参数:_gby_hash_aggregation_enabled
- MYSQL与Oracle如何处理重复数据的SQL
- Oracle创建主键时处理重复数据的程序
- oracle处理重复数据
- 关于oracle 11g导出数据时 报 ORA 1455错误的处理
- 关于oracle 去掉重复数据问题
- 收集MYSQL与Oracle如何处理重复数据的SQL
- direct=true 错误处理方法 (关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法
- 关于 Oracle分页数据重复的问题
- 关于oracle重复数据合并以及.前面加0问题的解决