Oracle 中沒有名為 group_concat
的內置函數,但你可以使用 LISTAGG
函數來實現類似的功能
LISTAGG(column_name, delimiter) WITHIN GROUP (ORDER BY order_by_column)
參數說明:
column_name
:需要連接的列名。delimiter
:用于連接字符串的分隔符。order_by_column
:指定排序的列名。示例:
假設我們有一個名為 employees
的表,包含以下列:id
, name
, department_id
。現在,我們想要按部門 ID 對員工進行分組,并將每個部門的員工名稱用逗號連接起來。
SELECT department_id, LISTAGG(name, ',') WITHIN GROUP (ORDER BY name) AS employee_names
FROM employees
GROUP BY department_id;
這將返回一個結果集,其中包含兩列:department_id
和 employee_names
。employee_names
列將包含按部門 ID 分組的員工名稱,用逗號分隔。