61 lines
1.5 KiB
SQL
61 lines
1.5 KiB
SQL
WITH results AS
|
|
(SELECT i_item_id,
|
|
s_state,
|
|
0 AS g_state,
|
|
ss_quantity agg1,
|
|
ss_list_price agg2,
|
|
ss_coupon_amt agg3,
|
|
ss_sales_price agg4
|
|
FROM store_sales,
|
|
customer_demographics,
|
|
date_dim,
|
|
store,
|
|
item
|
|
WHERE ss_sold_date_sk = d_date_sk
|
|
AND ss_item_sk = i_item_sk
|
|
AND ss_store_sk = s_store_sk
|
|
AND ss_cdemo_sk = cd_demo_sk
|
|
AND cd_gender = 'M'
|
|
AND cd_marital_status = 'S'
|
|
AND cd_education_status = 'College'
|
|
AND d_year = 2002
|
|
AND s_state = 'TN' )
|
|
SELECT i_item_id,
|
|
s_state,
|
|
g_state,
|
|
agg1,
|
|
agg2,
|
|
agg3,
|
|
agg4
|
|
FROM
|
|
( SELECT i_item_id,
|
|
s_state,
|
|
0 AS g_state,
|
|
avg(agg1) agg1,
|
|
avg(agg2) agg2,
|
|
avg(agg3) agg3,
|
|
avg(agg4) agg4
|
|
FROM results
|
|
GROUP BY i_item_id ,
|
|
s_state
|
|
UNION ALL SELECT i_item_id,
|
|
NULL AS s_state,
|
|
1 AS g_state,
|
|
avg(agg1) agg1,
|
|
avg(agg2) agg2,
|
|
avg(agg3) agg3,
|
|
avg(agg4) agg4
|
|
FROM results
|
|
GROUP BY i_item_id
|
|
UNION ALL SELECT NULL AS i_item_id,
|
|
NULL AS s_state,
|
|
1 AS g_state,
|
|
avg(agg1) agg1,
|
|
avg(agg2) agg2,
|
|
avg(agg3) agg3,
|
|
avg(agg4) agg4
|
|
FROM results ) foo
|
|
ORDER BY i_item_id NULLS FIRST,
|
|
s_state NULLS FIRST
|
|
LIMIT 100;
|