sql >> Databasteknik >  >> RDS >> Oracle

LISTAGG i ORACLE

LISTAGG analytisk funktion introducerades i Oracle 11g Release 2 . Så om du använder en äldre version kommer du inte att kunna använda den.

Felet verkar konstigt. Du borde faktiskt få ORA-00904: "DEPTNAME": invalid identifier som standard EMP tabell i SCOTT schemat har inte kolumnen DEPTNAME. Dessutom bör du få ORA-00979: not a GROUP BY expression eftersom du inte nämnde SELECT ed kolumner i GROUP BY uttryck.

Använder standarden EMP tabell i 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>


  1. Hur man returnerar frågeresultat som en kommaseparerad lista i MySQL

  2. Hur man migrerar från Oracle till MySQL / Percona Server

  3. Index visar ingen förbättring i hastighet

  4. Skicka och returnera anpassade arrayobjekt i ibatis och oracle i java