En effet, ROWNUM est une pseudo-colonne, ce qui implique qu'elles n'existent pas physiquement. Vous pouvez mieux utiliser rowid
pour supprimer les enregistrements.
Pour supprimer les doublons, vous pouvez essayer comme ceci :
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 )