PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como encontrar registros duplicados no PostgreSQL


A ideia básica será usar uma consulta aninhada com agregação de contagem:
select * from yourTable ou
where (select count(*) from yourTable inr
where inr.sid = ou.sid) > 1

Você pode ajustar a cláusula where na consulta interna para restringir a pesquisa.

Existe outra boa solução para isso mencionado nos comentários (mas nem todos os lêem):
select Column1, Column2, count(*)
from yourTable
group by Column1, Column2
HAVING count(*) > 1

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