Oracle
 sql >> Base de données >  >> RDS >> Oracle

LISTAGG dans ORACLE

Le LISTAGG la fonction analytique a été introduite dans Oracle 11g Release 2 . Donc, si vous êtes sur une version plus ancienne, vous ne pourrez pas l'utiliser.

L'erreur semble étrange. Vous devriez en fait obtenir ORA-00904: "DEPTNAME": invalid identifier comme EMP standard tableau en SCOTT le schéma n'a pas de colonne DEPTNAME. De plus, vous devriez obtenir ORA-00979: not a GROUP BY expression comme vous n'avez pas mentionné le SELECT ed colonnes dans le GROUP BY expression.

Utilisation de la norme EMP tableau en SCOTT schéma :

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>