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

Znajdź wiersze z wieloma zduplikowanymi polami za pomocą Active Record, Rails i Postgres

Wersja przetestowana i działająca

User.select(:first,:email).group(:first,:email).having("count(*) > 1")

Jest to również trochę niezwiązane, ale przydatne. Jeśli chcesz zobaczyć, jak razy została znaleziona każda kombinacja, umieść .size na końcu:

User.select(:first,:email).group(:first,:email).having("count(*) > 1").size

a otrzymasz zestaw wyników, który wygląda tak:

{[nil, nil]=>512,
 ["Joe", "[email protected]"]=>23,
 ["Jim", "[email protected]"]=>36,
 ["John", "[email protected]"]=>21}

Pomyślałem, że to całkiem fajne i nie widziałem tego wcześniej.

Podziękowania dla Taryn, to tylko poprawiona wersja jej odpowiedzi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ewolucja tolerancji błędów w PostgreSQL:faza replikacji

  2. Jak porównać bieżący wiersz z następnym i poprzednim wierszem w PostgreSQL?

  3. Dlaczego PostgreSQL nie lubi nazw tabel WIELKIMI LITERAMI?

  4. Złożony klucz podstawowy PostgreSQL

  5. GeoDjango w systemie Windows:Nie można znaleźć biblioteki GDAL / OSError:[WinError 126] Nie można znaleźć określonego modułu