Back to home page

OSCL-LXR

 
 

    


0001 -- This is a new query in TPCDS v2.7
0002 with results as (
0003     select
0004       sum(ss_net_profit) as total_sum,
0005       s_state ,s_county,
0006       0 as gstate,
0007       0 as g_county
0008     from
0009       store_sales, date_dim d1, store
0010     where
0011       d1.d_month_seq between 1212 and 1212 + 11
0012         and d1.d_date_sk = ss_sold_date_sk
0013         and s_store_sk  = ss_store_sk
0014         and s_state in (
0015             select s_state
0016             from (
0017                 select
0018                   s_state as s_state,
0019                   rank() over (partition by s_state order by sum(ss_net_profit) desc) as ranking
0020                 from store_sales, store, date_dim
0021                 where d_month_seq between 1212 and 1212 + 11
0022                   and d_date_sk = ss_sold_date_sk
0023                   and s_store_sk  = ss_store_sk
0024                 group by s_state) tmp1
0025               where ranking <= 5)
0026     group by
0027       s_state, s_county),
0028 results_rollup as (
0029     select
0030       total_sum,
0031       s_state,
0032       s_county,
0033       0 as g_state,
0034       0 as g_county,
0035       0 as lochierarchy
0036     from results
0037     union
0038     select
0039       sum(total_sum) as total_sum,s_state,
0040       NULL as s_county,
0041       0 as g_state,
0042       1 as g_county,
0043       1 as lochierarchy
0044     from results
0045     group by s_state
0046     union
0047     select
0048       sum(total_sum) as total_sum,
0049       NULL as s_state,
0050       NULL as s_county,
0051       1 as g_state,
0052       1 as g_county,
0053       2 as lochierarchy
0054     from results)
0055 select
0056   total_sum,
0057   s_state,
0058   s_county,
0059   lochierarchy,
0060   rank() over (
0061       partition by lochierarchy,
0062       case when g_county = 0 then s_state end
0063       order by total_sum desc) as rank_within_parent
0064 from
0065   results_rollup
0066 order by
0067   lochierarchy desc,
0068   case when lochierarchy = 0 then s_state end,
0069   rank_within_parent
0070 limit 100