在Oracle数据库中,LISTAGG函数用于将多行数据合并为单个字符串。
下面是LISTAGG函数的基本语法:
LISTAGG(column_name, delimiter) WITHIN GROUP (ORDER BY column_name)
其中:
column_name
是要合并的列名。delimiter
是用于分隔合并结果的字符串。ORDER BY
子句是可选的,用于指定合并结果的排序顺序。例如,假设有一个表employee
包含以下数据:
| employee_id | employee_name |
|-------------|---------------|
| 1 | John |
| 2 | Amy |
| 3 | Bob |
可以使用LISTAGG函数将employee_name
列的值合并为一个字符串,并用逗号分隔:
SELECT LISTAGG(employee_name, ', ') WITHIN GROUP (ORDER BY employee_id) AS employees
FROM employee;
执行以上查询将返回以下结果:
employees
---------------------
John, Amy, Bob