在Oracle中从表中删除重复行我正在Oracle中测试一些内容,并使用一些示例数据填充了一个表,但是在这个过程中,我意外地加载了重复记录,所以现在我无法使用其中的一些列创建主键。如何删除所有重复行而只保留其中一个行?
3 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
rowid
DELETE FROM your_tableWHERE rowid not in(SELECT MIN(rowid)FROM your_tableGROUP BY column1, column2, column3);
column1
, column2
column3
慕侠2389804
TA贡献1719条经验 获得超6个赞
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);
添加回答
举报
0/150
提交
取消