Oracle表中重复数据去重的方法
Posted 小胡的技术之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
row_number() over是分析函数 可以获得当前分组的出现次数 如果有重复的就会累加 2,3,4。。。这种,我们删除掉大于1的即可 删除通过rowid来删除。测试过,好用
PS:最近有点懒惰了。。。。。。。。。。。。。。。。。。。。。。。。。。
以上是关于Oracle表中重复数据去重的方法的主要内容,如果未能解决你的问题,请参考以下文章
oracle 数据去重问题,要求去掉表中的重复数据,但得保留重复数据中MD的值最小的那条数据