Ini karena ROWNUM adalah kolom semu yang menyiratkan bahwa mereka tidak ada secara fisik. Anda dapat lebih baik menggunakan rowid
untuk menghapus catatan.
Untuk menghapus duplikat Anda dapat mencoba seperti ini:
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 )