sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo encontrar registros duplicados en PostgreSQL

La idea básica será usar una consulta anidada con agregación de conteo:

select * from yourTable ou
where (select count(*) from yourTable inr
where inr.sid = ou.sid) > 1

Puede ajustar la cláusula where en la consulta interna para acotar la búsqueda.

Hay otra buena solución para lo mencionado en los comentarios (pero no todos los leen):

select Column1, Column2, count(*)
from yourTable
group by Column1, Column2
HAVING count(*) > 1

O más corto:

SELECT (yourTable.*)::text, count(*)
FROM yourTable
GROUP BY yourTable.*
HAVING count(*) > 1