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

Trova righe con più campi duplicati con Active Record, Rails e Postgres

Versione testata e funzionante

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

Inoltre, questo è un po' indipendente ma utile. Se vuoi vedere come è stata trovata ogni combinazione, metti .size alla fine:

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

e otterrai un risultato impostato indietro simile a questo:

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

Ho pensato che fosse piuttosto interessante e non l'avevo mai visto prima.

Ringraziamo Taryn, questa è solo una versione modificata della sua risposta.