GROUP_CONCAT
函数在 Oracle 数据库中并不存在,但类似的功能可以通过使用 LISTAGG
函数来实现
LISTAGG
函数的语法如下:
LISTAGG(column_name, delimiter) WITHIN GROUP (ORDER BY order_by_column)
其中:
column_name
:需要连接的列名。delimiter
:用于分隔连接后的字符串的分隔符。order_by_column
:指定排序的列名。示例:
假设有一个名为 employees
的表,包含以下列:employee_id
、first_name
和 department_id
。现在,我们想要查询每个部门的所有员工姓名,并将它们连接成一个字符串。可以使用以下查询:
SELECT department_id, LISTAGG(first_name, ', ') WITHIN GROUP (ORDER BY employee_id) AS employee_names
FROM employees
GROUP BY department_id;
这将返回一个结果集,其中每行显示一个部门 ID 和该部门的所有员工姓名,用逗号和空格分隔。