これは、ROWNUMが疑似列であり、物理的に存在しないことを意味するためです。 rowid
をより適切に使用できます レコードを削除します。
重複を削除するには、次のように試すことができます:
DELETE FROM mytable a
WHERE EXISTS( SELECT 1 FROM mytable b
WHERE a.id = b.id
AND a.name = b.name
AND a.rowid > b.rowid )