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ì)本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選