`LISTAGG`函数是Oracle数据库中的一个聚合函数,用于将多行数据按指定分隔符连接成单个字符串。
具体来说,`LISTAGG`函数接收两个参数:要连接的列和分隔符。它会将指定列的值按照指定的分隔符连接起来,并返回一个包含所有连接值的字符串。如果没有指定分隔符,则默认使用逗号作为分隔符。
以下是使用`LISTAGG`函数的示例:
SELECT department_id, LISTAGG(employee_name, ', ') WITHIN GROUP (ORDER BY employee_name) ASemployee_list
FROM employees
GROUP BY department_id;
在上述示例中,我们从`employees`表中根据`department_id`对员工姓名进行分组,并使用`LISTAGG`函数将每个部门中的员工姓名连接成一个字符串,使用逗号作为分隔符。最终的查询结果将包含部门ID和对应的员工姓名列表。
总而言之,`LISTAGG`函数允许我们以一种简洁的方式将多行数据合并成单个字符串,并在需要时添加分隔符。这对于生成报告、显示相关值等场景非常有用。