I have the following tables; format: table_name[column1, column2, etc..]
VENDOR_ORDERS [ORDER_ID, ORDER_CREATION_DATETIME, REGION_ID, ZIP_CODE, AMOUNT]
CALENDAR [CALENDAR_WEEK, CALENDAR_DATE]
basically what i'm trying to achieve is writing a query that will give me:
the COUNT(ORDER_ID) and SUM(AMOUNT) per CALENDAR_WEEK for every REGION_ID and DISTINCT(ZIP_CODE)
so the results should look something like this:
ZIP_CODE CALENDAR_WEEK REGION_ID COUNT(ORDER_ID) SUM(AMOUNT)
--------------------
XXXXX 01 1 50 987.45
YYYYY 01 1 25 568.32
ZZZZZ 01 1 30 555.63
MMMMM 01 1 10 099.93
XXXXX 15 1 05 999.34
YYYYY 15 1 32 339.67
ZZZZZ 15 1 21 457.23
MMMMM 15 1 88 459.99
i used the following code:
SELECT
DISTINCT(vo.ZIP_CODE)
,TO_CHAR(ca.CALENDAR_WEEK)
,TRUNC(vo.ORDER_CREATION_DATETIME) -- this column is not needed, i just added it for visualization purposes
,vo.REGION_ID
,COUNT(vo.ORDER_ID)
,SUM(vo.AMOUNT)
FROM
VENDOR_ORDERS vo
,CALENDAR ca
WHERE
TRUNC(vo.ORDER_CREATION_DATETIME) = sd.CALENDAR_DATE
AND vo.REGION_ID = 1
GROUP BY
vo.ZIP_CODE
,TO_CHAR(ca.CALENDAR_WEEK)
,vo.ORDER_CREATION_DATETIME
,vc.REGION_ID;
the problem is that i'm not getting DISTINCT(ZIP_CODE) per CALENDAR_WEEK, i'm having repeated ZIP_CODE for the same CALENDAR_WEEK, same REGION_ID but different COUNT(ORDER_ID) and SUM(AMOUNT)
i hope i made myself clear. thanks in advance for the help
distinctis NOT a function. It is always applied for all columns in the select list.