SQLを勉強中なのですが、以下のことで悩んでおります。
- $hoge_tableというテーブルがあるとします。
|$hoge_table|id|color|
|:--|:--:|
|最古|1|red
||2|red
||3|red
||4|green
||5|blue
|最新|6|blue
上記のテーブルから、最新の3件を取得して、その中で重複が多い順に並べ替えたいと思い、以下のコードを試しました。
SELECT color, count(*) as count FROM $hoge_table GROUP BY color ORDER BY count DESC LIMIT 3
上記を試した結果、取得結果は「red blue green」となりました。
最新の3件のみを取得して、その中で重複が多い順に並べ替える=取得結果が「blue green」になるようにするには、どのように書いたらよいかわからず、長いこと悩んでおります。
おわかりになる方がいらっしゃいましたら、どうかご教授頂けましたら幸いです。
何卒、宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/22 03:50
2019/01/22 04:19
2019/01/22 05:08