问题
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 Enterprise Edition Release 11.1.0.7.0 - 64bit Production
回答1:
In this article you have different approaches to dealing with string aggegation, including those to take into account if you are running an Oracle version prior to 11g Release 2 (which is your scenario).
Particularly, you can use Oracle's WM_CONCAT function:
SELECT deptno, wm_concat(ename) AS employees
FROM emp
GROUP BY deptno;
You can also define your own function for string aggregation or use other functions such as SYS_CONNECT_BY_PATH or COLLECT. In the above article you have examples of these methods.
来源:https://stackoverflow.com/questions/53479591/not-able-to-use-listagg