主要是利用oracle中记录行的rowid唯一。
去除重复记录(注意多次执行直到影响记录为0行)
delete from WBH_TEMP2 where terminal_id in (
select terminal_id from WBH_TEMP2 group by terminal_id having count(*)>1)
and rowid in (select max(rowid) from WBH_TEMP2 group by terminal_id having count(*)>1)
——————————————————————————————————————————
与上面一条等价,这条执行一次即可去除重复记录
delete from WBH_TEMP2 where terminal_id in (
select terminal_id from WBH_TEMP2 group by terminal_id having count(*)>1)
and rowid not in (select min(rowid) from WBH_TEMP2 group by terminal_id having count(*)>1)
——————————————————————————————————————————
大量数据的时候建议用CTAS
create table WBH_TEMP3 as select terminal_id from WBH_TEMP2 group by terminal_id
这样子WBH_TEMP3中就是去除重复的记录了。
分享到:
相关推荐
oracle中 ,如何删除重复的记录信息
Oracle数据库删除重复记录的方法
删除重复记录的方法原理:在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。在重复的记录中,可能所有列的内容都相同,但rowid不会...
oracle删除重复记录性能分析平时收集,希望能给需要帮助的人提供便利
Oracle数据库删除表中重复记录的方法三则.txt
Oracle查询重复数据与删除重复记录方法,Oracle查询重复数据与删除重复记录方法
oracle sql 删除一张表中的重复记录
查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 group by Id having count(Id) > 1)2、删除表中多余的重复记录,...
Oracle 查找与删除表中重复记录的步Oracle 查找与删除表中重复记录的步
删除重复记录 删除数据表中的重复记录,包括MySQL、SQL Server、Oracle等
使用Oracle查询并删除重复记录的SQL语句
plsql删除重复记录
查询及删除oracle重复记录的SQL语句
oracle 数据库中重复的记录行的清理删除方法,总结了几种比较可行的方法路径并分析了方法的优劣
oracle快速删除重复的记录
Oracle查询重复数据并删除,只保留一条记录.docx
重复的数据可能有这样两种情况,第一种时表中只有某些字段相同,第二种是两行记录完全相同。 一、对于部分字段重复数据的删除 先来谈谈如何查询重复的数据吧。 下面语句能够查询出那些数据是重复的: select ...
总结一下几种查找和删除重复记录的方法,适用于有大量重复记录的情况