Oracle
 sql >> Datenbank >  >> RDS >> Oracle

LISTAGG in ORACLE

Die LISTAGG Analysefunktion wurde in Oracle 11g Release 2 eingeführt . Wenn Sie also eine ältere Version verwenden, können Sie diese nicht verwenden.

Der Fehler scheint seltsam. Sie sollten tatsächlich ORA-00904: "DEPTNAME": invalid identifier erhalten als Standard EMP Tabelle in SCOTT Schema hat keine DEPTNAME-Spalte. Außerdem sollten Sie ORA-00979: not a GROUP BY expression erhalten da Sie SELECT nicht erwähnt haben ed-Spalten in GROUP BY Ausdruck.

Verwenden des Standard-EMP Tabelle in SCOTT Schema:

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>