• ベストアンサー

条件付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 のようなものを出したいんです。 もし方法がわかる方がいればご指導鞭撻ください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

LEFT関数で左から2文字を取り出してグループ化すればできます。 SELECT LEFT(`aaa`,2) ,COUNT(*) FROM `test` GROUP BY LEFT(`aaa`,2)

keeeeeeeen
質問者

お礼

saintandre回答ありがとうございます。 おかげでできました!!

その他の回答 (1)

回答No.1

SELECT CONCAT(LEFT(aaa,2),'*'),COUNT(*) FROM test GROUP BY LEFT(aaa,2) でどうでしょう?

keeeeeeeen
質問者

お礼

soramame99さん回答ありがとうございます。 おかげでなんとかなりました。

関連するQ&A