メインコンテンツへスキップ
メインコンテンツへスキップ

groupConcat

groupConcat

導入バージョン: v24.8

文字列のグループから連結された文字列を算出します。オプションで区切り文字を指定でき、さらに要素数の上限も指定できます。

注記

limit を指定しないで delimiter を指定する場合、delimiter は最初のパラメータでなければなりません。delimiterlimit の両方を指定する場合は、delimiterlimit より先に指定する必要があります。

また、パラメータと引数の両方で異なる区切り文字が指定された場合、引数側で指定された区切り文字のみが使用されます。

構文

groupConcat[(delimiter [, limit])](expression)

別名: group_concat

パラメーター

  • delimiter — 連結された値を区切るために使用される文字列です。このパラメーターは省略可能で、指定されない場合のデフォルトは空文字列です。String
  • limit — 連結する要素数の上限を指定する正の整数です。より多くの要素が存在する場合は、超過した要素は無視されます。このパラメーターは省略可能です。UInt*

引数

  • expression — 連結対象の文字列を出力する式またはカラム名です。String
  • delimiter — 連結された値を区切るために使用される文字列です。このパラメーターは省略可能で、指定されない場合は空文字列、またはパラメーターで指定された delimiter がデフォルトになります。String

戻り値

カラムまたは式の値を連結した文字列を返します。グループに要素が存在しない場合、または null 要素のみが存在し、かつ関数で「null のみの値」の扱いが特に指定されていない場合、結果は null 値を持つ Nullable 型の文字列になります。String

デリミタなしの基本的な使用法

SELECT groupConcat(Name) FROM Employees;
JohnJaneBob

カンマを区切り文字として使用する(パラメータ構文)

SELECT groupConcat(', ')(Name) FROM Employees;
John, Jane, Bob

カンマを区切り文字として使う(引数の構文)

SELECT groupConcat(Name, ', ') FROM Employees;
John, Jane, Bob

連結する要素数の制限

SELECT groupConcat(', ', 2)(Name) FROM Employees;
John, Jane