oracle去除表中重复数据的方法

发布时间:2019-09-09编辑:脚本学堂
本文介绍了oracle去除表中重复数据的方法,oracle数据去重的例子,需要的朋友参考下。

问题:表中没有主键,有重复数据,或者有主键,但部分字段有重复数据。

如何去除或过滤掉重复数据?

解决方法:
 

复制代码 代码示例:
delete from mytest ms 
 where rowid in (select aa.rid 
  from (select rowid as rid, 
    row_number() over(partition by s.name order by s.id) as nu 
      from mytest s) aa 
  where aa.nu > 1) 

sql语句说明:
row_number() over是分析函数,可以获得当前分组的出现次数 如果有重复的就会累加 2,3,4。。。这种,删除掉大于1的即可删除通过rowid来删除。