在Oracle數據庫中,沒有像MySQL中的GROUP_CONCAT()
函數那樣的內置函數
SELECT
deptno,
LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees
FROM
emp
GROUP BY
deptno;
這個查詢將返回每個部門編號(deptno
)以及該部門中逗號分隔的員工姓名列表。WITHIN GROUP (ORDER BY ename)
子句用于指定列表中元素的排序方式,在這里是按照員工姓名(ename
)的字母順序排序。
請注意,LISTAGG()
函數在Oracle 11g版本中引入,因此確保你正在使用的數據庫版本支持該函數。如果你使用的是更早的版本,你可能需要使用其他方法來實現類似的功能,例如使用自定義聚合函數或者通過多次查詢和字符串連接的方式。