Oracle表中重復(fù)數(shù)據(jù)去重的方法實例詳解
我們在項目中肯定會遇到一種情況,就是表中沒有主鍵 有重復(fù)數(shù)據(jù) 或者有主鍵 但是部分字段有重復(fù)數(shù)據(jù) 而我們需要過濾掉重復(fù)數(shù)據(jù)
下面是一種解決方法
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是分析函數(shù) 可以獲得當前分組的出現(xiàn)次數(shù) 如果有重復(fù)的就會累加 2,3,4。。。這種,我們刪除掉大于1的即可 刪除通過rowid來刪除
以上就是關(guān)于Oracle 去重的方法及簡單實例的介紹,關(guān)于數(shù)據(jù)庫的文章本站還有很多,歡迎大家搜索參閱,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:- oracle、mysql數(shù)據(jù)庫停止與啟動的批處理文件
- Oracle 11g如何清理數(shù)據(jù)庫的歷史日志詳解
- Oracle數(shù)據(jù)行拆分多行方法示例