在Oracle中,可以使用LISTAGG
函數將多行數據合并到一起。LISTAGG
函數會將指定列的值連接成一個字符串,并可以指定分隔符。
語法如下:
LISTAGG (column, delimiter) WITHIN GROUP (ORDER BY column)
其中column
是要合并的列名,delimiter
是分隔符,ORDER BY column
是可選的,表示按照指定列的值排序。
例如,有一個表employees
,包含first_name
和last_name
兩列,現在要將所有員工的姓名合并成一個逗號分隔的字符串,可以使用以下語句:
SELECT LISTAGG(first_name || ' ' || last_name, ', ') WITHIN GROUP (ORDER BY first_name) AS full_name
FROM employees;
上述語句會將employees
表中所有員工的姓名合并成一個字符串,并按照first_name
列的值排序。結果類似于:“John Smith, Jane Doe, David Johnson”。