Bạn hiểu sai distinct gì Là. Nó không phải là một chức năng. Nó là một công cụ sửa đổi trên select và nó ảnh hưởng đến tất cả cột đang được chọn. Vì vậy, nó đang hoạt động chính xác như bình thường.
Nếu bạn muốn tổng hợp theo mã zip và tuần, thì đó là hai cột duy nhất nên có trong nhóm 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)
Bạn có thể bao gồm region_id cũng như giả sử rằng mỗi mã zip ở một vùng.