sql >> データベース >  >> RDS >> Oracle

ORACLEのLISTAGG

    LISTAGG 分析機能はOracle11gリリース2で導入されました 。したがって、古いバージョンを使用している場合は、それを使用できません。

    エラーは奇妙に思えます。実際にはORA-00904: "DEPTNAME": invalid identifierを取得する必要があります 標準のEMPとして SCOTTのテーブル スキーマにDEPTNAME列がありません。また、ORA-00979: not a GROUP BY expressionを取得する必要があります SELECTについて言及しなかったため GROUP BYの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. WITH句を使用したクエリでPostgresにFROM句のエントリエラーがありません

    2. MySQL:クエリ結果に列を動的に追加する

    3. トリガーの作成

    4. Ubuntuでのmysqlft_min_word_lenの変更が機能しない