GROUP_CONCATで複数カラムのデータを取得した際に、カラム間にもセパレーターを付ける

2017-09-27

SQLべた書きで、速度改善を狙う際によく使われるのがGROUP_CONCAT。

しかし複数カラムを取得しようと思った際、レコード間にセパレーターは付けられるものの、カラム間にセパレーターが付けられなくて困った人もいるんじゃないかと思います。

GROUP_CONCATでカラム間にもセパレーターを付ける

なんてことは無く、GROUP_CONCATの引数にCONCAT付けて文字列結合してあげるだけ。

これで

「1名前,2名前」みたいになってたのが「1:名前,2:名前」みたいになるので、explodeとかで色々やれる。