在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