blob: 343b7b9d41c3b8a70ea5abb51fdc6933dd5277a4 [file] [log] [blame]
====
---- QUERY: TPCDS-Q14-1
with cross_items as
(select i_item_sk ss_item_sk
from item,
(select iss.i_brand_id brand_id
,iss.i_class_id class_id
,iss.i_category_id category_id
from store_sales
,item iss
,date_dim d1
where ss_item_sk = iss.i_item_sk
and ss_sold_date_sk = d1.d_date_sk
and d1.d_year between 1999 AND 1999 + 2
intersect
select ics.i_brand_id
,ics.i_class_id
,ics.i_category_id
from catalog_sales
,item ics
,date_dim d2
where cs_item_sk = ics.i_item_sk
and cs_sold_date_sk = d2.d_date_sk
and d2.d_year between 1999 AND 1999 + 2
intersect
select iws.i_brand_id
,iws.i_class_id
,iws.i_category_id
from web_sales
,item iws
,date_dim d3
where ws_item_sk = iws.i_item_sk
and ws_sold_date_sk = d3.d_date_sk
and d3.d_year between 1999 AND 1999 + 2) t1
where i_brand_id = brand_id
and i_class_id = class_id
and i_category_id = category_id
),
avg_sales as
(select avg(quantity*list_price) average_sales
from (select ss_quantity quantity
,ss_list_price list_price
from store_sales
,date_dim
where ss_sold_date_sk = d_date_sk
and d_year between 1999 and 1999 + 2
union all
select cs_quantity quantity
,cs_list_price list_price
from catalog_sales
,date_dim
where cs_sold_date_sk = d_date_sk
and d_year between 1999 and 1999 + 2
union all
select ws_quantity quantity
,ws_list_price list_price
from web_sales
,date_dim
where ws_sold_date_sk = d_date_sk
and d_year between 1999 and 1999 + 2) x)
select channel, i_brand_id,i_class_id,i_category_id,sum(sales), sum(number_sales)
from(
select 'store' channel, i_brand_id,i_class_id
,i_category_id,sum(ss_quantity*ss_list_price) sales
, count(*) number_sales
from store_sales
,item
,date_dim
where ss_item_sk in (select ss_item_sk from cross_items)
and ss_item_sk = i_item_sk
and ss_sold_date_sk = d_date_sk
and d_year = 1999+2
and d_moy = 11
group by i_brand_id,i_class_id,i_category_id
having sum(ss_quantity*ss_list_price) > (select average_sales from avg_sales)
union all
select 'catalog' channel, i_brand_id,i_class_id,i_category_id, sum(cs_quantity*cs_list_price) sales, count(*) number_sales
from catalog_sales
,item
,date_dim
where cs_item_sk in (select ss_item_sk from cross_items)
and cs_item_sk = i_item_sk
and cs_sold_date_sk = d_date_sk
and d_year = 1999+2
and d_moy = 11
group by i_brand_id,i_class_id,i_category_id
having sum(cs_quantity*cs_list_price) > (select average_sales from avg_sales)
union all
select 'web' channel, i_brand_id,i_class_id,i_category_id, sum(ws_quantity*ws_list_price) sales , count(*) number_sales
from web_sales
,item
,date_dim
where ws_item_sk in (select ss_item_sk from cross_items)
and ws_item_sk = i_item_sk
and ws_sold_date_sk = d_date_sk
and d_year = 1999+2
and d_moy = 11
group by i_brand_id,i_class_id,i_category_id
having sum(ws_quantity*ws_list_price) > (select average_sales from avg_sales)
) y
group by rollup (channel, i_brand_id,i_class_id,i_category_id)
order by channel,i_brand_id,i_class_id,i_category_id
LIMIT 100
---- RESULTS
'catalog',1001001,1,1,115019.61,20
'catalog',1001001,1,2,146344.47,27
'catalog',1001001,1,3,22597.19,3
'catalog',1001001,1,4,107555.43,23
'catalog',1001001,1,5,122521.31,25
'catalog',1001001,1,6,16883.97,3
'catalog',1001001,1,7,46329.78,9
'catalog',1001001,1,8,77861.85,13
'catalog',1001001,1,9,99985.35,21
'catalog',1001001,1,10,100105.28,23
'catalog',1001001,1,NULL,855204.24,167
'catalog',1001001,2,2,43967.97,7
'catalog',1001001,2,3,68565.38,14
'catalog',1001001,2,5,12633.87,3
'catalog',1001001,2,NULL,125167.22,24
'catalog',1001001,3,1,11100.79,5
'catalog',1001001,3,2,60551.64,14
'catalog',1001001,3,4,28455.23,4
'catalog',1001001,3,6,36821.61,7
'catalog',1001001,3,7,17250.82,6
'catalog',1001001,3,8,14426.92,4
'catalog',1001001,3,9,30078.07,3
'catalog',1001001,3,NULL,198685.08,43
'catalog',1001001,4,2,45473.85,13
'catalog',1001001,4,3,16558.92,8
'catalog',1001001,4,4,47553.20,10
'catalog',1001001,4,NULL,109585.97,31
'catalog',1001001,5,9,30112.11,12
'catalog',1001001,5,10,29678.50,5
'catalog',1001001,5,NULL,59790.61,17
'catalog',1001001,6,9,10261.82,3
'catalog',1001001,6,NULL,10261.82,3
'catalog',1001001,7,7,18244.94,3
'catalog',1001001,7,NULL,18244.94,3
'catalog',1001001,8,7,28872.49,7
'catalog',1001001,8,10,26895.97,6
'catalog',1001001,8,NULL,55768.46,13
'catalog',1001001,9,6,30944.19,5
'catalog',1001001,9,NULL,30944.19,5
'catalog',1001001,11,9,82810.87,12
'catalog',1001001,11,NULL,82810.87,12
'catalog',1001001,12,10,38427.52,9
'catalog',1001001,12,NULL,38427.52,9
'catalog',1001001,15,9,53508.79,7
'catalog',1001001,15,10,59329.31,13
'catalog',1001001,15,NULL,112838.10,20
'catalog',1001001,NULL,NULL,1697729.02,347
'catalog',1001002,1,1,2673969.89,530
'catalog',1001002,1,NULL,2673969.89,530
'catalog',1001002,2,1,140831.91,29
'catalog',1001002,2,NULL,140831.91,29
'catalog',1001002,3,1,320175.87,67
'catalog',1001002,3,NULL,320175.87,67
'catalog',1001002,4,1,133287.96,21
'catalog',1001002,4,NULL,133287.96,21
'catalog',1001002,5,1,16606.90,9
'catalog',1001002,5,NULL,16606.90,9
'catalog',1001002,6,1,15133.01,4
'catalog',1001002,6,NULL,15133.01,4
'catalog',1001002,7,1,24471.26,10
'catalog',1001002,7,NULL,24471.26,10
'catalog',1001002,8,1,63773.05,12
'catalog',1001002,8,NULL,63773.05,12
'catalog',1001002,9,1,9167.19,3
'catalog',1001002,9,NULL,9167.19,3
'catalog',1001002,12,1,29108.42,7
'catalog',1001002,12,NULL,29108.42,7
'catalog',1001002,15,1,31143.45,6
'catalog',1001002,15,NULL,31143.45,6
'catalog',1001002,16,1,70162.42,8
'catalog',1001002,16,NULL,70162.42,8
'catalog',1001002,NULL,NULL,3527831.33,706
'catalog',1002001,1,1,76392.13,14
'catalog',1002001,1,2,118394.33,21
'catalog',1002001,1,4,29395.79,5
'catalog',1002001,1,5,35541.97,4
'catalog',1002001,1,6,26104.36,3
'catalog',1002001,1,9,18793.97,4
'catalog',1002001,1,10,44071.42,4
'catalog',1002001,1,NULL,348693.97,55
'catalog',1002001,2,1,239511.02,51
'catalog',1002001,2,2,147993.14,26
'catalog',1002001,2,3,100086.93,17
'catalog',1002001,2,4,53524.42,13
'catalog',1002001,2,5,48494.06,10
'catalog',1002001,2,6,142857.04,20
'catalog',1002001,2,7,116557.98,16
'catalog',1002001,2,8,92743.93,24
'catalog',1002001,2,9,203943.99,38
'catalog',1002001,2,10,88249.19,10
'catalog',1002001,2,NULL,1233961.70,225
'catalog',1002001,3,2,25171.13,6
'catalog',1002001,3,7,27766.70,3
'catalog',1002001,3,8,38116.49,8
'catalog',1002001,3,NULL,91054.32,17
'catalog',1002001,4,1,66896.68,15
'catalog',1002001,4,3,43672.63,7
'catalog',1002001,4,4,41393.52,6
'catalog',1002001,4,5,30464.86,4
'catalog',1002001,4,NULL,182427.69,32
---- TYPES
STRING, INT, INT, INT, DECIMAL, BIGINT
====