oracle listagg的用法是什么

Oracle中的LISTAGG函数用于将多行数据连接成一个单一的字符串,常用于将多行数据聚合为一个字符串,可以在SELECT查询中使用。

语法:
LISTAGG (列名, 分隔符) WITHIN GROUP (ORDER BY 列名)

参数解释:

列名:要连接的列名
分隔符:用于分隔连接的字符串
ORDER BY:可选参数,指定连接的顺序

示例:
假设有以下表结构:
表名:employees

employee_id department_id employee_name
1 101 John
2 101 Jane
3 102 Mike
4 103 Sarah

要将部门ID为101的员工姓名连接成一个字符串,以逗号分隔,可以使用以下查询:
SELECT department_id, LISTAGG(employee_name, ‘,’) WITHIN GROUP (ORDER BY employee_id) AS employee_names
FROM employees
WHERE department_id = 101
GROUP BY department_id;

查询结果:

department_id employee_names
101 John, Jane

以上查询将部门ID为101的员工姓名连接成一个字符串,并使用逗号分隔。在连接之前,按照员工ID进行了排序。

阅读剩余
THE END