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.