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

グループ化の問題

    私はテストしていませんが、機能する必要があります:

    SELECT case when lag(CUSTOMERS.COMPANY_NAME, 1, null) over 
                     (partition by CUSTOMERS.COMPANY_NAME 
                      order by COMPANY_NAME, COUNT(CALLS.CALL_REF) DESC) is null 
                then CUSTOMERS.COMPANY_NAME else null end cmp_name,
           CUSTOMERS.CUSTOMER_ID AS REF,
           CUSTOMERS.COMPANY_NAME,
           COUNT (CALLS.CALL_REF) AS TOTAL_CALLS,
           CALLERS.CALLER_LAST_NAME AS LAST_NAME,
           COUNT(CALLS.CALL_REF)AS CALLS
      FROM CUSTOMERS
      INNER JOIN CALLERS
        ON COMPANY_ID=CUSTOMER_ID
      LEFT JOIN CALLS
        ON CALLERS.CONTACT_ID=CALLS.CONTACT_ID
      GROUP BY CUSTOMERS.CUSTOMER_ID,
               CUSTOMERS.COMPANY_NAME,
               CALLERS.CALLER_LAST_NAME
      ORDER BY REF, COMPANY_NAME, CALLS DESC;
    



    1. CASEWHENを使用して複数の行を更新-ORACLE

    2. ORA-01461:LONG列に挿入する場合にのみLONG値をバインドできます-照会時に発生します

    3. DUPLICATE KEY +AUTOINCREMENTでmysqlを発行します

    4. Postgres:開発者ごとの最長ストリーク(日数)の定義