| ==== |
| ---- 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 |
| ==== |