oacle 删除重复数据
admin
2023-05-02 23:59:56
0

--测试数据

create table test as select * from dba_objects;

insert into test select * from test;

--查看是否有重复数据

select * from test order by object_id;

--用rowid删除

select rowid,a.* from test a order by object_id;

--根据rowid分组

--办法(1)not in

DELETE FROM test WHERE ROWID NOT IN (SELECT MAX(ROWID) FROM test GROUP BY object_id)

--办法(2) in

DELETE FROM test a

 WHERE ROWID IN (SELECT ROWID

                   FROM (SELECT row_number() over(PARTITION BY object_id ORDER BY ROWID) rn,

                                a.*

                           FROM test a)

                  WHERE rn > 1)


--办法3 exists

DELETE FROM test a

 WHERE EXISTS (SELECT NULL

          FROM test b

         WHERE a.object_id = b.object_id

           AND a.rowid < b.rowid)

--in的等价写法

DELETE FROM test a

 WHERE object_id IN (SELECT object_id

                       FROM test b

                      WHERE a.object_id = b.object_id

                        AND a.rowid < b.rowid)


--如果要保留3条重复数据

DELETE FROM test a

 WHERE ROWID IN (SELECT ROWID

                   FROM (SELECT row_number() over(PARTITION BY object_id ORDER BY ROWID) rn,

                                a.*

                           FROM test a)

                  WHERE rn > 3)

                  


相关内容

热门资讯

美军侦察机未经授权进入领空,奥... 【文/观察者网 熊超然】据“今日俄罗斯”(RT)当地时间5月13日报道,奥地利方面表示,该国已紧急出...
男子骑车闯红灯被罚,疑问“没车... 近日,一男子骑车时因闯红灯被处罚,后与交警产生对话,交警的回答被网友称赞为“教科书级别的科普”。司机...
他信,笑着出狱了 监狱大门打开的那一刻,泰国前总理他信微笑着张开双臂,拥抱小女儿佩通坦。佩通坦随后在社交媒体发布两人合...
冰箱漏电怎么测 1、可以用灯泡检查法来检测冰箱漏电,将36V灯泡的两根导线,一根接冰箱外壳(无漆处)另一根接大地,如...
电饭煲通电就跳闸怎么回事 如果之前电饭煲从未出现过跳闸现象,此现象为新出现的,有可能是插板或者是电饭煲发生故障导致的。首先可以...
空调外机有温度传感器损坏 最可能是温度传感器泄漏导致的这个原因。可以使用热毛巾加热温度检测管,将按钮设置为最低温度,并使用测试...
九阳铁釜电饭煲故障代码种类及解... 故障代码的种类很多,有E0表示电饭煲上盖热敏电阻故障,需要更换上盖的热门电阻;E1是热敏电阻故障,需...
九阳电饭锅的拆卸步骤 先拆锅底的四个小螺丝,然后将暴露出来的底拆开,然后拆卸电饭锅那儿的小盖板,用螺丝刀拆螺丝就行,然后将...
华南理工男生课堂偷拍女生被当场... 据羊城晚报消息,5月13日,一段“华南理工大学男生教室偷拍女生”视频在网络传播,相关事件引发热议。视...
偷税超900万被查的网红白冰:... 刚刚,因偷税超900万元被查的网红白冰发布近60分钟长视频,控诉前员工联合他人侵吞公司资金、设局陷害...