Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupConcat

groupConcat

Добавленный в: v24.8.0

Вычисляет конкатенированную строку из группы строк, при необходимости разделённых разделителем, и при необходимости ограничивает число элементов.

Синтаксис

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

Псевдонимы: group_concat, string_agg

Параметры

  • delimiter — строка, используемая для разделения объединённых значений. Этот параметр необязателен; если он не указан, по умолчанию используется пустая строка. String
  • limit — положительное целое число, задающее максимальное количество объединяемых элементов. Если элементов больше, лишние игнорируются. Этот параметр необязателен. UInt*

Аргументы

  • expression — выражение или имя столбца, возвращающее строки для объединения. String
  • delimiter — строка, используемая для разделения объединённых значений. Этот аргумент необязателен; если он не указан, по умолчанию используется пустая строка или разделитель из параметров. String

Возвращаемое значение

Возвращает строку, состоящую из объединённых значений столбца или выражения. Если в группе нет элементов либо есть только элементы со значением NULL, и функция не задаёт обработку случая, когда присутствуют только значения NULL, результатом будет строка Nullable со значением NULL. String

Примеры

Базовое использование без разделителя

CREATE TABLE Employees (Name String) ENGINE = Memory;
INSERT INTO Employees VALUES ('John'), ('Jane'), ('Bob');

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
Navigation