在Oracle中從表中刪除重復(fù)行我正在Oracle中測試一些內(nèi)容,并使用一些示例數(shù)據(jù)填充了一個(gè)表,但是在這個(gè)過程中,我意外地加載了重復(fù)記錄,所以現(xiàn)在我無法使用其中的一些列創(chuàng)建主鍵。如何刪除所有重復(fù)行而只保留其中一個(gè)行?
3 回答

白衣染霜花
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
rowid
DELETE FROM your_tableWHERE rowid not in(SELECT MIN(rowid)FROM your_tableGROUP BY column1, column2, column3);
column1
, column2
column3

慕俠2389804
TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
delete from t where rowid IN ( select rid from (select rowid rid, row_number() over (partition by companyid, agentid, class , status, terminationdate order by rowid) rn from t) where rn <> 1);
添加回答
舉報(bào)
0/150
提交
取消