温馨提示×

如何在Oracle中使用group_concat函数

小樊
85
2024-09-09 20:38:27
栏目: 云计算

在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版本中引入,因此确保你正在使用的数据库版本支持该函数。如果你使用的是更早的版本,你可能需要使用其他方法来实现类似的功能,例如使用自定义聚合函数或者通过多次查询和字符串连接的方式。

0