広告スペース(バナー)
🗄️SQL レッスン
SELECTの基礎6
データ操作とサブクエリ5
構文の基本を深める7
応用的な条件・結合7
検索とテーブル操作の応用6
高度なクエリ技法6
集計とデータ整合性6
仕上げの機能と応用6
レッスン 48 / 50

GROUP_CONCATで集計結果を1つの文字列にまとめる

このレッスンでは、GROUP_CONCATを使ってグループ内の値を1つの文字列にまとめる方法を学ぶことを目標にします。「SQL GROUP_CONCAT 使い方」で調べている方向けの内容です。

GROUP_CONCAT(列)は、GROUP BYでまとめたグループ内の値を、カンマ区切りの1つの文字列に連結してくれる集計関数です。「クラスごとの生徒名を一覧表示したい」ときなどに便利です。

サンプルコードでは、GROUP_CONCAT(name)という指定で、同じクラスに所属する生徒の名前を、カンマ区切りの1つの文字列としてまとめて表示しています。通常のGROUP BYでは複数行になってしまう名前のリストが、たった1行に収まる様子を確認してみましょう。

初心者がよくつまずくのが、区切り文字を変更したい場合の書き方です。GROUP_CONCAT(name, '; ')のように第2引数を指定すると、カンマ以外の区切り文字を使うこともできます。デフォルトの区切り文字がカンマであることも覚えておきましょう。

本来なら複数行に分かれてしまう結果を、1行の読みやすい文字列にまとめられるのが特徴です。区切り文字を指定できる場合もあり、レポート出力や画面表示の整形に役立つ集計関数です。

SQL
OUTPUT / 実行結果

💡 初回実行時はSQLエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
グループ内のデータを、カンマ区切りの1つの文字列にまとめられるようになります。
広告スペース(バナー)
広告スペース(記事内)