Oracle删除重复数据的几种常用方法

1.有可区分的主键,其他数据相同

select * from 表名 dl where dl.id not in (select min(d.id) from  表名 d 
group by 重复列)

2.重复数据只能通过RowNum、RowId区分的数据

select * from 表名 where rowid in(
select max(rowid) from  表名 d
group by d.id,d.wareh_id,d.wareh_name having count(wareh_id)>1)

时间: 2024-12-10 16:27:07

Oracle删除重复数据的几种常用方法的相关文章

Oracle 删除重复数据

DELETE FROM tb E WHERE E.ROWID > (SELECT MIN(X.ROWID)                    FROM tb X                   WHERE X.APR_BSS_ID = E.APR_BSS_ID                   AND X.ID=E.ID                   AND X.NAME=E.NAME                 ); Oracle 删除重复数据

oracle删除表数据的两种的方式

转自:https://blog.csdn.net/qq_37840993/article/details/82490787 平时写sql中我们都会用到删除语句,而平时删除表数据的时候我们经常会用到两种方式: 在oracle中,truncate.delete都可以删除表数据,具体的区别以及sql语法如下: truncate table [表名]; delete from [表名]; delete与truncate的区别:delete:会产生rollback,如果删除大数据量的表速度会很慢,而且同时

Oracle 删除重复数据只留一条

转http://www.cnblogs.com/252e/archive/2012/09/13/2682817.html 查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录 DELETE from 表

Oracle 删除重复数据只留一条【转】

转自http://www.cnblogs.com/252e/archive/2012/09/13/2682817.html 查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录 DELETE from 表

[转]Oracle 删除重复数据只留一条

原创地址:http://www.cnblogs.com/252e/archive/2012/09/13/2682817.html 查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录 DELETE fro

Oracle 删除重复数据只留一条(转)

转自:http://www.cnblogs.com/252e/archive/2012/09/13/2682817.html 查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录 DELETE from

【分享】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)

Excel删除重复数据及用公式筛选重复项并标记颜色突出显示

当表格记录比较多时,常常会有重复数据,而重复记录往往只希望保存一条,因此需要把多余的删除:在 Excel 中,删除重复数据有两种方法,一种是用“删除重复数据”删除,另一种是用“高级筛选”删除:其中前者删除重复数据后会在表格末尾留下空行,而后者不会.如果只想查看重复数据而不必删除,可以给重复数据标记颜色突出显示,这样会一目了然.另外,还可以用公式统计每条重复数据有几条或筛选出重复数据.以下是Excel删除重复数据及用公式筛选重复项并标记颜色的具体操作方法,操作中所用版本为 Excel 2016.

oracle中查找和删除重复记录的几种方法总结

平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录. 下面总结一下几种查找和删除重复记录的方法(以表CZ为例): 表CZ的结构如下: 1 SQL> desc cz 2 Name Null? Type 3 ------------------------------------------------------------------- 4 C1 NUMBER(10) 5 C10 NUMBER(5) 6 C20 VARC