Перейти к основному содержимому
Перейти к основному содержимому

groupConcat

groupConcat

Добавлено в: v24.8

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

Примечание

Если delimiter указан без limit, он должен быть первым параметром. Если указаны и delimiter, и limit, delimiter должен предшествовать limit.

Также, если разные разделители указаны как параметры и аргументы, будет использован только разделитель из аргументов.

Синтаксис

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

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

Параметры

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

Аргументы

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

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

Возвращает строку, состоящую из конкатенированных значений столбца или выражения. Если в группе нет элементов или есть только элементы со значением NULL, и функция не задаёт обработку для случая только значений NULL, результатом является строка типа Nullable со значением NULL. 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