1.單錶查詢,多條重覆記錄只取一條
select * from
select row_number() over(partition by 重複字段 order by 時間字段 倒序還是順序) a1, a2.欄位1,a2.欄位2 from 表 a2
where 1=1
查詢條件
)where a1 = 1
2.總結關鍵是表的去重,只取第一條語句:
(select * from (select rank() over(partition by bzdwcode order by dwcode desc) r,a.* from jl a) where r=1) f
用過第一種,第二種還沒用過
oracle 刪除表中重覆記錄
表demo是重複拷貝自dba objects,有88萬左右,不重複的是27323,沒有索引 方法一 delete from demo a where a.rowid select max rowid from demo b where b.object id a.object id 耗時 幾個小時以...
Oracle刪除重覆記錄
oracle刪除重覆記錄的最好的方法 delete from emp e where e.rowid select min y.rowid from emp y where y.empno e.empno 1 子查詢找出某員工最低的rowid 肯定只有乙個 其它大於這條記錄rowid的,全部刪除。2...
快速刪除ORACLE重覆記錄
在oracle中,可以通過唯一rowid實現刪除重覆記錄 還可以建臨時表來實現.這個只提到其中的幾種簡單實用的方法,希望可以和大家分享 以表employee為例 sql desc employee name null?type emp id number 10 emp name varchar2 2...