Dies liegt daran, dass ROWNUM eine Pseudospalte ist, was impliziert, dass sie physisch nicht existieren. Sie können besser rowid
verwenden um die Aufzeichnungen zu löschen.
Um die Duplikate zu entfernen, können Sie Folgendes versuchen:
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 )