No entiendes lo que distinct
es. No es una función. Es un modificador en select
y afecta a todos columnas que se seleccionan. Por lo tanto, se está comportando exactamente como debería.
Si desea agregaciones por código postal y semana, esas son las únicas dos columnas que deben estar en el group by
:
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)
Probablemente podría incluir region_id
también, asumiendo que cada código postal está en una región.