ラボ > MySQL:group関連

mySQLで複数行を合体させて表示したい(GROUP_CONCAT)

作成日:2017-12-27, 更新日:2023-01-15

基本

▼こんなテーブル。

kushi_name taste
鳥精
鳥精 タレ
豚精
豚精 タレ
丸ごとシマウマ
つくね
つくね タレ
▼欲しい結果。

kushi_name csv_taste
鳥精 塩,タレ
豚精 塩,タレ
丸ごとシマウマ
つくね 塩,タレ

▼クエリ

select kushi_name, group_concat( taste SEPARATOR ',' ) as csv_taste
FROM 〇〇〇 
group by kushi_name;

・「group_concat()」の第一引数が合体させたいカラム名
・「group_concat()」の第三引数が区切り文字

結果がblob型になる場合

▼「group_concat( taste SEPARATOR ',' )」を「convert()」に入れる

select kushi_name, convert(group_concat( taste SEPARATOR ',' ) using 'utf8') as csv_taste
FROM 〇〇〇 
group by kushi_name;