在Oracle數據庫中,可以使用LISTAGG
函數來實現類似于MySQL中GROUP_CONCAT
的功能
SELECT department_id, LISTAGG(employee_name, ',') WITHIN GROUP (ORDER BY employee_name) AS employee_names
FROM employees
GROUP BY department_id;
這個查詢會按照部門ID分組,并將每個部門下的員工姓名用逗號連接起來。WITHIN GROUP (ORDER BY employee_name)
子句表示在連接之前,先按照員工姓名進行排序。
注意:LISTAGG
函數在Oracle 11g Release 2及更高版本中可用。如果你使用的是較早的版本,可以考慮使用其他方法,例如自定義聚合函數或者使用多個嵌套的查詢和字符串連接操作。