在Oracle中,rowid就是唯一标志记录物理位置的一个id,每一条记录都对应一个rowid,且rowid是唯一的。如下图所示,表中除了rowid之外,有重复记录,就可以使用rowid来删除。
同一条记录,保留rowid最大的值,其余的删掉
也可以使用not in 删除
DELETE FROM STUTEST S
WHERE S.ROWID not in (SELECT MIN(T.ROWID) FROM STUTEST T WHERE T.SNO = S.SNO);
COMMIT;
在Oracle中,rowid就是唯一标志记录物理位置的一个id,每一条记录都对应一个rowid,且rowid是唯一的。如下图所示,表中除了rowid之外,有重复记录,就可以使用rowid来删除。
同一条记录,保留rowid最大的值,其余的删掉
也可以使用not in 删除
DELETE FROM STUTEST S
WHERE S.ROWID not in (SELECT MIN(T.ROWID) FROM STUTEST T WHERE T.SNO = S.SNO);
COMMIT;