在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”。