- ベストアンサー
条件付group byについて
DBからデータを引き出したいのですがうまく引き出せず困っています。 条件付きでgroup byを行いたいのですが、そのような方法はありますでしょう? 条件とはあるカラムの要素の最初の文字だけでgroupbyしたいのです。 例えば table test aaa | bbb ---------- aab | 1 aac | 2 abg | a aac | 4 上記のようなテーブルがあったときカラムaaaの最初のに2文字だけgruou byして aa* | 3 ab* | 2 のようなものを出したいんです。 もし方法がわかる方がいればご指導鞭撻ください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
LEFT関数で左から2文字を取り出してグループ化すればできます。 SELECT LEFT(`aaa`,2) ,COUNT(*) FROM `test` GROUP BY LEFT(`aaa`,2)
その他の回答 (1)
- soramame99
- ベストアンサー率46% (12/26)
回答No.1
SELECT CONCAT(LEFT(aaa,2),'*'),COUNT(*) FROM test GROUP BY LEFT(aaa,2) でどうでしょう?
質問者
お礼
soramame99さん回答ありがとうございます。 おかげでなんとかなりました。
お礼
saintandre回答ありがとうございます。 おかげでできました!!