Listagg Oracle: Синтаксис, Примеры | Руководство от Netology
Listagg - это функция в Oracle, которая позволяет объединять строки в одну строку с использованием заданного разделителя. Это может быть полезно для создания унифицированных отчетов и агрегирования данных из нескольких строк в одну.
Синтаксис функции Listagg выглядит следующим образом:
LISTAGG(expr1 [,delimiter]) WITHIN GROUP (ORDER BY expr2 [ASC|DESC]);
где:
- expr1 - это столбец или выражение, которое необходимо объединить.
- delimiter (необязательный) - это разделитель, который будет использоваться между каждой скомбинированной строкой. Если он не указан, то значение по умолчанию будет ",".
- expr2 (необязательный) - это столбец или выражение, по которому строки будут отсортированы перед объединением.
Пример кода:
SELECT listagg(last_name, ', ') WITHIN GROUP (ORDER BY last_name) AS employees
FROM employees;
В этом примере используется функция Listagg для объединения фамилий сотрудников в единственную строку, разделенную запятой. Результат будет отсортирован в алфавитном порядке по фамилии.