Удалить дубликаты записей, используя rownum в sql
Пожалуйста, помогите мне узнать, удалить записи, основанные на rownum, где даже идентификатор дублируется, это не произойдет, но если это так.
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
Запрос пробовал, но удаляет все 6 строк.
DELETE FROM a
WHERE rownum not in
(SELECT MIN(rownum)
FROM a
GROUP BY name);
Но этот запрос дает правильный результат:
SELECT MIN(rownum)
FROM a
GROUP BY name
ROWNUM
----------
1
2
3
Ожидаемый результат :
ROWNUM ID NAME
---------- ---------- ----------
4 1 leo_1
5 2 leo_2
6 3 leo_3