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