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

ORACLE SQL select Distinctは、重複を削除しません

    あなたはdistinctが何であるかを誤解しています は。機能ではありません。 selectの修飾子です すべてに影響します 選択されている列。そのため、正常に動作しています。

    郵便番号と週ごとの集計が必要な場合は、group byに含める必要があるのはこれらの2列だけです。 :

    SELECT vo.ZIP_CODE, TO_CHAR(ca.CALENDAR_WEEK),
           -- vo.REGION_ID
            COUNT(vo.ORDER_ID),
            SUM(vo.AMOUNT)
    FROM VENDOR_ORDERS vo JOIN
         CALENDAR ca
         ON TRUNC(vo.ORDER_CREATION_DATETIME) = sd.CALENDAR_DATE
    WHERE vo.REGION_ID = 1
    GROUP BY vo.ZIP_CODE, TO_CHAR(ca.CALENDAR_WEEK)
    

    おそらくregion_idを含めることができます 同様に、各郵便番号が1つの地域にあると仮定します。



    1. 子オブジェクトがまだ開いているため、接続を再関連付けできません

    2. SQLエラー-キーワードがありません

    3. SQLServerCTEと再帰の例

    4. PostgreSQLとActiveRecordが競合状態を副選択