sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan finder du duplikerede poster i PostgreSQL

Den grundlæggende idé vil være at bruge en indlejret forespørgsel med optælling:

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

Du kan justere where-sætningen i den indre forespørgsel for at indsnævre søgningen.

Der er en anden god løsning på det, der er nævnt i kommentarerne, (men ikke alle læser dem):

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

Eller kortere:

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


  1. Sådan multipliceres to kolonner i SQL

  2. mysql vælg sum gruppe efter dato

  3. kunde.pk_name joining transactions.fk_name vs. kunde.pk_id [serial] joining transactions.fk_id [heltal]

  4. Hvordan IFNULL() virker i MariaDB