Phiên bản đã thử nghiệm &đang làm việc
User.select(:first,:email).group(:first,:email).having("count(*) > 1")
Ngoài ra, điều này là một chút không liên quan nhưng tiện dụng. Nếu bạn muốn xem thời gian từng kết hợp được tìm thấy như thế nào, hãy đặt .size ở cuối:
User.select(:first,:email).group(:first,:email).having("count(*) > 1").size
và bạn sẽ nhận được một tập hợp kết quả giống như sau:
{[nil, nil]=>512,
["Joe", "[email protected]"]=>23,
["Jim", "[email protected]"]=>36,
["John", "[email protected]"]=>21}
Nghĩ rằng điều đó khá tuyệt và chưa từng thấy.
Tín dụng cho Taryn, đây chỉ là phiên bản chỉnh sửa của câu trả lời của cô ấy.