Versi Teruji &Berfungsi
User.select(:first,:email).group(:first,:email).having("count(*) > 1")
Juga, ini sedikit tidak berhubungan tetapi berguna. Jika Anda ingin melihat berapa kali setiap kombinasi ditemukan, letakkan .size di akhir:
User.select(:first,:email).group(:first,:email).having("count(*) > 1").size
dan Anda akan mendapatkan set kembali hasil yang terlihat seperti ini:
{[nil, nil]=>512,
["Joe", "[email protected]"]=>23,
["Jim", "[email protected]"]=>36,
["John", "[email protected]"]=>21}
Menurut saya itu cukup keren dan belum pernah dilihat sebelumnya.
Penghargaan untuk Taryn, ini hanya versi modifikasi dari jawabannya.