如何在Oracle中使用group_concat函数

avatar
作者
猴君
阅读量:0

在Oracle数据库中,没有像MySQL中的GROUP_CONCAT()函数那样的内置函数

SELECT   deptno,   LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees FROM   emp GROUP BY   deptno; 

这个查询将返回每个部门编号(deptno)以及该部门中逗号分隔的员工姓名列表。WITHIN GROUP (ORDER BY ename)子句用于指定列表中元素的排序方式,在这里是按照员工姓名(ename)的字母顺序排序。

请注意,LISTAGG()函数在Oracle 11g版本中引入,因此确保你正在使用的数据库版本支持该函数。如果你使用的是更早的版本,你可能需要使用其他方法来实现类似的功能,例如使用自定义聚合函数或者通过多次查询和字符串连接的方式。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!