在Oracle中,沒有像MySQL中的group_concat()函數來直接實現將多行數據合并成一行。但是可以使用Oracle中的LISTAGG()函數來實現類似的功能。下面是一個示例:
假設有一個名為employee的表,包含兩列:dept_id和employee_name。我們想要按照dept_id分組,將每個部門的員工姓名合并成一個字符串。
SELECT dept_id, LISTAGG(employee_name, ',') WITHIN GROUP (ORDER BY employee_name) AS employees
FROM employee
GROUP BY dept_id;
在上面的查詢中,LISTAGG()函數將employee_name按照逗號分隔符連接起來,并且按照employee_name的順序進行排序。通過GROUP BY子句將結果按照dept_id進行分組。
通過使用LISTAGG()函數,可以實現類似于group_concat()函數的功能,并將多行數據合并成一行。