###やりたいこと
railsで特定のカラム(country)の重複をカウント
countryだけを抽出し、グループごとに重複が多い順に並び替える
Usersテーブル
id | country | name | グループ |
---|---|---|---|
1 | 日本 | 戸田 | A |
2 | 韓国 | 李大浩 | A |
3 | アメリカ | トランプ | A |
4 | 日本 | 恵梨香 | A |
5 | 日本 | 芦田 | A |
6 | アメリカ | ガトリン | A |
7 | アイスランド | シェリー | B |
8 | プエルトリコ | ジョンソン | B |
9 | アイスランド | サリー | B |
######期待する出力
["日本","アメリカ","韓国"]#グループA ["アイスランド","プエルトリコ"]#グループB
###実践
sortやuniq、distinctなど色々調べたのですが、なかなか処理できません
今は長々とコードを書いている状況です
countryを配列に入れて、配列の中のcountryを数えようとしていますが進みません
他にいいやり方があればご教授願います
group = ["A","B"] a=0 country= [] 2.times do a = User.where(group: group[a]).pluck(:country) country << a ここから色々処理するもうまくいかず a+=1 end p country ##[["日本","韓国","アメリカ","日本","日本","アメリカ"],["アイスランド","プエルトリコ","アイスランド"]]
###追記
重複が何個あったかも処理しようとしています
よろしくお願いします
回答1件
あなたの回答
tips
プレビュー