Usuń duplikaty rekordów za pomocą rownum w sql

Pomóż mi znać skasowane rekordy na podstawie rownum, gdzie nawet identyfikator jest duplikatem, to się nie zdarzy, ale jeśli tak jest.

select rownum,a.* from a;

    ROWNUM         ID NAME
---------- ---------- ----------
         1          1 leo_1
         2          2 leo_2
         3          3 leo_3
         4          1 leo_1
         5          2 leo_2
         6          3 leo_3

Query Tried, ale usuwa wszystkie 6 wierszy.

DELETE FROM a
WHERE rownum not in
(SELECT MIN(rownum)
FROM a
GROUP BY name);

Ale to zapytanie daje poprawny wynik:

SELECT MIN(rownum)
FROM a
GROUP BY name

    ROWNUM
----------
         1
         2
         3

Spodziewany wynik :

    ROWNUM         ID NAME
---------- ---------- ----------
         4          1 leo_1
         5          2 leo_2
         6          3 leo_3

questionAnswers(3)

yourAnswerToTheQuestion