STRING_AGG()
PostgreSQLОбъединяет строки группы в одну с указанным разделителем.
Синтаксис
STRING_AGG(column, delimiter [ORDER BY ...])
Примеры
Список имён через запятую
SELECT STRING_AGG(name, ', ' ORDER BY name) FROM users;
→ Alice, Bob, Charlie
Теги продукта
SELECT product_id, STRING_AGG(tag, ' | ' ORDER BY tag) AS tags FROM product_tags GROUP BY product_id;
Сотрудники по отделам
SELECT department, STRING_AGG(full_name, ', ') AS employees FROM staff GROUP BY department;
Важно знать
- ⚠NULL значения пропускаются автоматически.
- ⚠ORDER BY внутри STRING_AGG задаёт порядок строк в итоговой строке.
- ⚠Аналог в стандарте SQL: LISTAGG (Oracle, DB2).