Oracle
 sql >> база данни >  >> RDS >> Oracle

LISTAGG в ORACLE

LISTAGG аналитичната функция беше въведена в Oracle 11g Release 2 . Така че, ако използвате по-стара версия, няма да можете да я използвате.

Грешката изглежда странна. Всъщност трябва да получите ORA-00904: "DEPTNAME": invalid identifier като стандартния EMP таблица в SCOTT схемата няма колона DEPTNAME. Освен това трябва да получите ORA-00979: not a GROUP BY expression тъй като не споменахте SELECT 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>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете дата и час от части в Oracle/PLSQL?

  2. Изберете произволна извадка от резултати от резултат от заявка

  3. Възстановяването на таблично пространство USERS не работи. Архивиране на Oracle

  4. Oracle:YEAR Ключовата дума е невалидна

  5. MySQL еквивалент на SEQUENCE.NEXTVAL на Oracle