Това е така, защото 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 )