Oracle 中没有名为 group_concat 的内置函数,但你可以使用 LISTAGG 函数来实现类似的功能
LISTAGG(column_name, delimiter) WITHIN GROUP (ORDER BY order_by_column)
参数说明:
column_name:需要连接的列名。delimiter:用于连接字符串的分隔符。order_by_column:指定排序的列名。示例:
假设我们有一个名为 employees 的表,包含以下列:id, name, department_id。现在,我们想要按部门 ID 对员工进行分组,并将每个部门的员工名称用逗号连接起来。
SELECT department_id, LISTAGG(name, ',') WITHIN GROUP (ORDER BY name) AS employee_names
FROM employees
GROUP BY department_id;
这将返回一个结果集,其中包含两列:department_id 和 employee_names。employee_names 列将包含按部门 ID 分组的员工名称,用逗号分隔。