#グループIDをメンバーの多い順に並び替える
group_id | user_id |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
2 | 2 |
3 | 1 |
3 | 3 |
groupsHash = groups.group(:group_id).order('count(user_id) desc').count(:user_id)
#=> {1=>3, 3=>2, 2=>1}
ここから人数が2人以上のグループidの配列を取得する
ids = groupsHash.filter_map{ |group| groupsHash[0].to_i if groupsHash[1] >= 2}
#=> [1, 3]