groupConcat
文字列のグループから連結された文字列を生成します。必要に応じて区切り文字を挿入し、さらに要素数の上限で制限できます。
構文
エイリアス: group_concat
引数
expression— 連結する文字列を出力する式またはカラム名。delimiter— 連結された値を区切るために使用される文字列。このパラメータは省略可能で、指定されない場合は空文字列、またはパラメータで指定されたデリミタがデフォルトとして使用されます。
パラメータ
delimiter— 連結された値を区切るために使用される文字列。このパラメータは省略可能で、指定されない場合は空文字列がデフォルトになります。limit— 連結する要素数の上限を指定する正の整数。より多くの要素が存在する場合、超過した要素は無視されます。このパラメータは省略可能です。
注記
limit を指定せずに delimiter を指定する場合、delimiter は最初のパラメータでなければなりません。delimiter と limit を両方指定する場合は、delimiter を limit より前に指定する必要があります。
また、パラメータと引数の両方で異なる delimiter が指定された場合、引数で指定された delimiter のみが使用されます。
戻り値
- カラムまたは式の値を連結した文字列を返します。グループに要素が存在しない場合、または NULL 要素のみであり、かつ関数が「NULL のみ」の値に対する処理を指定していない場合、結果は値が NULL の Nullable 型の文字列になります。
例
入力テーブル:
- 区切り文字なしでの基本的な使い方:
クエリ:
結果:
これは、すべての名前を区切りなしで 1 つの連続した文字列に結合します。
- 区切り文字としてカンマを使用する場合:
クエリ:
または
結果:
この出力では、名前がカンマとその後のスペースで区切られて表示されます。
- 連結される要素数を制限する
Query:
結果:
このクエリは、テーブル内にそれ以上の名前があっても、出力を先頭の 2 件の名前に制限します。