groupConcat
Вычисляет конкатенированную строку из группы строк, при необходимости разделённых разделителем и/или ограниченных максимальным количеством элементов.
Синтаксис
Псевдоним: group_concat
Аргументы
expression— выражение или имя столбца, которое выводит строки для конкатенации.delimiter— строка, которая используется для разделения конкатенированных значений. Необязательный параметр, по умолчанию — пустая строка или разделитель из параметров, если он не указан.
Параметры
delimiter— строка, которая используется для разделения конкатенированных значений. Необязательный параметр, по умолчанию — пустая строка, если не указан.limit— положительное целое число, задающее максимальное количество элементов для конкатенации. Если элементов больше, лишние элементы игнорируются. Необязательный параметр.
Если указан delimiter без limit, он должен быть первым параметром. Если указаны и delimiter, и limit, delimiter должен предшествовать limit.
Кроме того, если разные разделители указаны и в параметрах, и в аргументах, будет использован только разделитель из аргументов.
Возвращаемое значение
- Возвращает строку, состоящую из конкатенированных значений столбца или выражения. Если в группе нет элементов или есть только значения NULL, и в функции не указана отдельная обработка случая, когда присутствуют только значения NULL, результатом является строка типа Nullable со значением NULL.
Примеры
Входная таблица:
- Базовое использование без разделителя:
Запрос:
Результат:
Это объединяет все имена в одну единую строку без какого‑либо разделителя.
- Использование запятой как разделителя:
Запрос:
или
Результат:
Этот вывод показывает имена, разделённые запятой и пробелом.
- Ограничение количества объединяемых элементов
Запрос:
Результат:
Этот запрос ограничивает результат первыми двумя именами, хотя в таблице содержится больше имён.