Перейти к содержанию

GROUP_CONCAT

Функция GROUP_CONCAT соединяет строковые значения выражения, добавляя между ними разделитель. Результат имеет тип TEXT.

Значения NULL не учитываются. Если строк нет или все значения равны NULL, результат равен NULL. По умолчанию разделитель — запятая. В обычном агрегатном вызове второй аргумент должен быть строковым литералом.

Порядок соединяемых значений в обычном агрегатном вызове не гарантируется. Для задания порядка можно использовать оконный вызов с ORDER BY внутри OVER.

Функция STRING_AGG — другое имя GROUP_CONCAT.

Синтаксис

GROUP_CONCAT ( DISTINCT expression expression , ' string ' )

Параметры

DISTINCT позволяет учитывать только уникальные значения выражения.

С DISTINCT разрешен только один аргумент; свой разделитель задать нельзя.

Использование в окне

Функция также может использоваться как оконная с выражением OVER и необязательным FILTER. В оконном вызове DISTINCT не поддерживается.

Примеры

Подготовка тестового окружения

Пример использует тестовую таблицу items.

SELECT GROUP_CONCAT(name, ', ') FROM items;