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 分组的员工名称,用逗号分隔。