PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak znaleźć zduplikowane rekordy w PostgreSQL

Podstawowym pomysłem będzie użycie zagnieżdżonego zapytania z agregacją liczby:

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

Możesz dostosować klauzulę where w zapytaniu wewnętrznym, aby zawęzić wyszukiwanie.

Jest jeszcze inne dobre rozwiązanie wspomniane w komentarzach (ale nie wszyscy je czytają):

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

Lub krócej:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python/postgres/psycopg2:uzyskiwanie identyfikatora właśnie wstawionego wiersza

  2. Równoległość dochodzi do VACUUM

  3. Jak zmienić formatowanie moich wartości zwracanych w tej funkcji?

  4. Django bulk_create z ignorowanymi wierszami, które powodują IntegrityError?

  5. 2 sposoby na dodanie wiodących zer w PostgreSQL