在Oracle中,可以使用LISTAGG
函數將結果集中的多行數據拼接成單個字符串。
下面是一個示例:
SELECT dept_name, LISTAGG(employee_name, ', ') WITHIN GROUP (ORDER BY employee_name) AS employees
FROM employees
GROUP BY dept_name;
這個例子中,employees
表包含兩列數據:dept_name
和employee_name
。使用LISTAGG
函數將每個部門的員工名字拼接成一個以逗號分隔的字符串,并按員工名字的字母順序排序。
結果類似于下面的輸出:
DEPT_NAME | EMPLOYEES
---------------------------------
HR | John Doe, Mary Smith
IT | Alice Johnson, Bob Thompson, Sam Lee
在LISTAGG
函數中,WITHIN GROUP (ORDER BY employee_name)
用于指定按employee_name
列排序。你可以根據需要選擇不同的排序列或不進行排序。
請注意,LISTAGG
函數在Oracle 11g及更高版本中可用。如果你在較舊的版本中使用Oracle,可能需要使用其他方法來實現結果集的拼接顯示,比如使用循環或連接操作符。