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