Vous ne comprenez pas ce que distinct est. Ce n'est pas une fonction. C'est un modificateur sur select et cela affecte tous colonnes sélectionnées. Donc, il se comporte exactement comme il se doit.
Si vous souhaitez des agrégations par code postal et par semaine, ce sont les deux seules colonnes qui doivent figurer dans le 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)
Vous pourriez probablement inclure region_id également, en supposant que chaque code postal se trouve dans une région.