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