Testad och fungerande version
User.select(:first,:email).group(:first,:email).having("count(*) > 1")
Dessutom är detta lite orelaterade men praktiskt. Om du vill se hur gånger varje kombination hittades, skriv .size i slutet:
User.select(:first,:email).group(:first,:email).having("count(*) > 1").size
och du får ett resultat som ser ut så här:
{[nil, nil]=>512,
["Joe", "example@sqldat.com"]=>23,
["Jim", "example@sqldat.com"]=>36,
["John", "example@sqldat.com"]=>21}
Tyckte det var ganska coolt och hade inte sett det förut.
Tack till Taryn, detta är bara en finjusterad version av hennes svar.