mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-19 12:52:37 +00:00
2.6 KiB
2.6 KiB
slug | sidebar_position | sidebar_label | title |
---|---|---|---|
/ja/sql-reference/aggregate-functions/reference/groupconcat | 363 | groupConcat | groupConcat |
文字列のグループから連結された文字列を計算します。区切り文字で区切ることも可能で、要素の最大数を制限することもできます。
構文
groupConcat[(delimiter [, limit])](expression);
引数
expression
— 連結される文字列を出力する式またはカラム名。delimiter
— 連結される値を区切るために使われる文字列。このパラメータはオプションで、指定しない場合は空の文字列がデフォルトとなります。limit
— 連結する要素の最大数を指定する正の整数。もし要素がそれ以上ある場合、超過した要素は無視されます。このパラメータもオプションです。
:::note 区切り文字が指定され、limitが指定されていない場合、区切り文字は最初のパラメータでなければなりません。区切り文字とlimitの両方が指定されている場合、区切り文字はlimitよりも前に指定する必要があります。 :::
返される値
- カラムまたは式の連結された値からなる文字列を返します。グループに要素がない、またはすべての要素がnullの場合、かつ関数がnull値のみの処理を指定していない場合、結果はnull値を持つnullableな文字列となります。
例
入力テーブル:
┌─id─┬─name─┐
│ 1 │ John│
│ 2 │ Jane│
│ 3 │ Bob│
└────┴──────┘
- 区切り文字なしの基本的な使用法:
クエリ:
SELECT groupConcat(Name) FROM Employees;
結果:
JohnJaneBob
すべての名前を区切りなしで一つの連続した文字列に連結します。
- 区切り文字としてカンマを使用する場合:
クエリ:
SELECT groupConcat(', ')(Name) FROM Employees;
結果:
John, Jane, Bob
この出力では、カンマとスペースで名前が区切られています。
- 連結する要素数の制限
クエリ:
SELECT groupConcat(', ', 2)(Name) FROM Employees;
結果:
John, Jane
このクエリでは、テーブルにもっと名前があっても、最初の2つの名前だけが結果として表示されます。