Sie verstehen falsch, was distinct ist ist. Es ist keine Funktion. Es ist ein Modifikator auf select und es betrifft alle Spalten ausgewählt werden. Es verhält sich also genau so, wie es sollte.
Wenn Sie Aggregationen nach Postleitzahl und Woche wünschen, dann sind dies die einzigen beiden Spalten, die in group by enthalten sein sollten :
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)
Sie könnten wahrscheinlich region_id einfügen auch unter der Annahme, dass jede Postleitzahl in einer Region liegt.