oracle数据库单表查重及去重

匿名 (未验证) 提交于 2019-12-03 00:26:01

数据库清理表:

   

(2) select   bgcode   from   dcm_bms_bg group by   bgcode having count(bgcode ) > 1
          select * from dcm_bms_bg  where bgcode in  
         (select   bgcode from   dcm_bms_bg group by   bgcode having count(bgcode ) > 1) 
         order by  bgcode desc ;
         这两句显示重复数据

去除重复数据:

delete from dcm_bms_bg a where a.rowid! = (

    select max(b.rowid) from dcm_bms_bg  b

    where a.bgcode =b.bgcode and a.bgname = b.bgname

);

rowid 是Oracle自动隐藏的字段,每条记录都会有一个唯一的rowid,

我们可以通过保留重复字段中那个最大的rowid的记录,删除其他相同记录来保证数据的不同。

参考:Oracle单表去重复



        




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!