Excluir registros duplicados usando rownum no sql
Por favor, ajude-me a saber excluir registros com base no rownum onde até o id é duplicado, isso não acontecerá, mas se for o caso.
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
Consulta Tentada, mas exclui todas as 6 linhas.
DELETE FROM a
WHERE rownum not in
(SELECT MIN(rownum)
FROM a
GROUP BY name);
Mas esta consulta fornece o resultado correto:
SELECT MIN(rownum)
FROM a
GROUP BY name
ROWNUM
----------
1
2
3
Resultado esperado :
ROWNUM ID NAME
---------- ---------- ----------
4 1 leo_1
5 2 leo_2
6 3 leo_3