我正在Oracle中进行测试,并在表中填充了一些示例数据,但是在此过程中,我不小心加载了重复的记录,因此现在无法使用某些列创建主键。
如何删除所有重复的行并仅保留其中之一?
使用rowid伪列。
rowid
DELETE FROM your_table WHERE rowid not in (SELECT MIN(rowid) FROM your_table GROUP BY column1, column2, column3);
其中column1,column2和column3组成每个记录的标识键。您可能会列出所有列。
column1
column2
column3