LISTAGG 分析機能はOracle11gリリース2で導入されました 。したがって、古いバージョンを使用している場合は、それを使用できません。
エラーは奇妙に思えます。実際にはORA-00904: "DEPTNAME": invalid identifier
を取得する必要があります 標準のEMP
として SCOTT
のテーブル スキーマにDEPTNAME列がありません。また、ORA-00979: not a GROUP BY expression
を取得する必要があります SELECTについて言及しなかったため GROUP BYのed列 式。
標準のEMPを使用する SCOTTのテーブル スキーマ:
SQL> SELECT deptno,
2 job,
3 LISTAGG(ename, ',') WITHIN GROUP (
4 ORDER BY ename) AS employees
5 FROM emp
6 GROUP BY deptno,
7 job;
DEPTNO JOB EMPLOYEES
---------- --------- ------------------------
10 CLERK MILLER
10 MANAGER CLARK
10 PRESIDENT KING
20 CLERK ADAMS,SMITH
20 ANALYST FORD,SCOTT
20 MANAGER JONES
30 CLERK JAMES
30 MANAGER BLAKE
30 SALESMAN ALLEN,MARTIN,TURNER,WARD
9 rows selected.
SQL>