orcl數據庫查詢重復數據及刪除重復數據方法
瀏覽量: 次 發布日期:2023-10-14 19:16:22
orcl數據庫查詢重復數據及刪除重復數據方法
工作中,發現數據庫表中有許多重復的數據,而這個時候老板需要統計表中有多少條數據時(不包含重復數據),只想說一句MMP,庫中好幾十萬數據,腫么辦,無奈只能自己在網上找語句,最終成功解救,下面是我一個實驗,很好理解。
----------------------------------------------------------------------------------------------
假設有一張人員信息表cs(姓名,證件號,地址),將表中三個字段數據都重復的數據篩選出來:
distinct:這個關鍵字來過濾掉多余的重復數據只保留一條數據
select * from from cs ------所有字段
select distinct xm,zjh,dz from cs; -----指定字段
在實踐中往往只用它來返回不重復數據的條數,因為distinct對于一個數據量非常大的庫來說,無疑是會直接影響到效率的。
-----------------------------------------------------------------------------------------------------------------------
查詢重復數據、刪除重復數據的方法如下:↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
①rowid用法: oracle帶的rowid屬性,進行判斷是否存在重復數據。
查詢重復數據:
select a.* from cs a where rowid !揚州數據恢復=(select max(rowid) from cs b where a.xm=b.xm and a.zjh=b.zjh and a.dz=b.dz)
刪除重復數據:
delete from cs a where rowid !=(select max(rowid) from cs b where a.xm=b.xm and a.zjh=b.zjh and a.dz=b.dz)
②group by :一般用于將查詢結果分組,多配合聚合函數,sum,count,min,max,having等一起使用。
查詢重復數據:
select max(xm),max(zjh),max(dz),count(xm) as 記錄數 from cs group by xm having count(xm)>1 ---------適用于字段少的
select * from cs a where (a.xm,a.zjh,a.dz) in (select xm,zjh,dz from cs group by xm,zjh,dz having count(*)>1)
and rowid not in (select min(rowid) from cs group by xm,zjh,dz having count(*)>1) -------適用于多字段
去重重復數據:多個字段,只留有rowid最小的記錄 。
delete from cs a where (a.xm,a.zjh,a.dz) in (select xm,zjh,dz from cs group by xm,zjh,dz having count(*)>1) and rowid not in (select min(rowid) from cs group by xm,zjh,dz having count(*)>1)
③row_number()over(partition by 列)
select xm,zjh,dz,row_number()over(partition by zjh order by xm) 記錄號 from cs
去重重復數據:
with cs1 as (select xm,zjh,dz,row_number()over(partition by zjh order by zjh) 記錄號 from cs)select * from cs1 where 記錄號=1
. 達夢數據庫comment報錯,達夢數據庫comment錯誤解析與應對策略
. 達夢數據庫啟動過程中會加載哪些文件,達夢數據庫啟動文件加載解析
. oracle數據庫數據恢復,Oracle數據庫數據恢復策略與實戰指南
. sqlserver誤刪數據庫怎么恢復,全面解析與實操步驟
. 達夢數據庫dca證書含金量,國產數據庫領域職業發展的敲門磚與能力認證
. 優化數據庫的八種方法,高效優化數據庫,輕松實現查詢加速與性能提升
. sql2012還原備份的數據庫,sql2012怎么還原數據庫
. oracle數據庫官網,深入探索Oracle數據庫官網——您的數據庫學習與資源寶庫
. 最新數據庫排行榜
. oracle數據庫導入dmp,Oracle數據庫導入dmp文件詳解