无法使用LISTAGG

时间:2018-11-26 10:55:14

标签: sql oracle oracle11g listagg

SELECT deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees
FROM   emp
GROUP BY deptno;
Error:- 
ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:
Error at Line: 1 Column: 42

Oracle Database 11g企业版11.1.0.7.0版-64位生产

1 个答案:

答案 0 :(得分:0)

this article中,您可以使用不同的方法来处理字符串聚合,包括在运行11g第2版之前的Oracle版本(您的情况)时要考虑的方法。

尤其是,您可以使用Oracle的WM_CONCAT函数:

SELECT deptno, wm_concat(ename) AS employees
FROM   emp
GROUP BY deptno;

您还可以定义自己的函数以进行字符串聚合,或使用其他函数,例如SYS_CONNECT_BY_PATHCOLLECT。在上面的文章中,您有这些方法的示例。