Oracle
 sql >> Baza danych >  >> RDS >> Oracle

LISTAGG w ORACLE

LISTAGG funkcja analityczna została wprowadzona w Oracle 11g Release 2 . Tak więc, jeśli masz starszą wersję, nie będziesz mógł z niej korzystać.

Błąd wydaje się dziwny. Powinieneś otrzymać ORA-00904: "DEPTNAME": invalid identifier jako standardowy EMP tabela w SCOTT schemat nie zawiera kolumny DEPTNAME. Powinieneś także otrzymać ORA-00979: not a GROUP BY expression ponieważ nie wspomniałeś o SELECT ed kolumny w GROUP BY wyrażenie.

Korzystanie ze standardowego EMP tabela w SCOTT schemat:

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. Zwiększ wydajność dzięki zbiorczemu odbiorowi w Oracle

  2. Wyzwalacz Oracle PL/SQL do uruchomienia tylko w przypadku zmian danych wprowadzonych po 9-5 godzinach

  3. Uszkodzenie daty Oracle podczas aktualizacji

  4. if-elseif-else 'warunek' w Oracle SQL

  5. Sformatuj dane tabeli SQL jako tabelę tekstową