怎么样oracle去除重复数据那些数据

我没测试不确保上面的 sql 完全正確!
可以先把 DELETE 改成 SELECT * 看看查出来的数据符不符合要求,大概思路就是这个用 HAVING;

因为一些原因数据库中的一张表(2kw+数据)没有建立主键并且随着时间的增加产生了大量的重复数据,我通过以下方式进行数据去重: 原理:即使是所有业务字段都一样嘚两条数据他的rowid也是不一样的 首先按照业务要求找出哪些字段重复的算重复数据,我是这

因为一些原因数据库中的一张表(2kw+数据)没有建立主键并且随着时间的增加产生了大量的重复数据,我通过以下方式进行数据去重:

原理:即使是所有业务字段都一样的两条数据他嘚rowid也是不一样的

首先按照业务要求找出哪些字段重复的算重复数据,我是这样的以下字段全部一致就认为是重复数据: hphm,hpzl,wfsj,wfxw,jszh

此表为分区表,查此表分区详情:

查询重复数据里的最大的rowid然后删除rowid 在里面的数据,因为是分区表所以可以分区操作否则时间会非常长(ps我在服务器上操作一晚上也没成功):


  

重复执行直到删除所有重复数据。

原文地址:oracle 删除大表内的重复数据, 感谢原作者分享

  • 本文原创发布php中文网,转载请注明出处感谢您的尊重!

我要回帖

 

随机推荐