oracle多行合并成一行
时间: 2023-09-12 15:10:05 浏览: 134
oracle多行合并一行
可以使用Oracle的LISTAGG函数来将多行合并成一行。该函数可以将一个给定列的值列表合并成一个单一字符串,并且可以使用特定的分隔符将值分隔开。
例如,如果我们有一个名为"employee"的表,其中包含员工的姓名和部门,我们可以使用以下查询将每个部门的员工姓名合并成一个单独的字符串:
```
SELECT department, LISTAGG(name, ', ') WITHIN GROUP (ORDER BY name) as employees
FROM employee
GROUP BY department;
```
这将返回一个结果集,其中每个行包含一个部门和该部门的所有员工姓名,这些姓名用逗号分隔。
注意,LISTAGG函数在Oracle 11g R2及更高版本中可用。如果你的数据库版本较旧,你可能需要考虑使用其他方法,如自定义聚合函数或连接查询。
阅读全文