あなたは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つの地域にあると仮定します。