Buscar registros duplicados sin utilizar having en Oracle

Pues eso amig@s,

Aquí les traigo una alternativa a la búsqueda de registros en Oracle. El método tradicional es utilizando la agrupación de campos y la condición having, es decir:

select id, count(*)
    from t
    group by id
    having count(*) > 1

La consulta anterior nos devolverá como resultado los registros id que estén repetidos más de una vez.

La alternativa a esta sentencia es mediante el uso de funciones analíticas, por ejemplo:

Select *
From
(
Select id, nombre, apellido,Count(*) Over (Partition By nombre) As repetido
From t
)
where repetido > 1;

La consulta nos devolverá todos los nombres que tengan más de una coincidencia en común.

Espero que les resulte útil.
Salu2.
Share on Google Plus
    Blogger Comment

0 comentarios: