Back to home page

OSCL-LXR

 
 

    


0001 SELECT
0002   sum(ss_net_profit) AS total_sum,
0003   s_state,
0004   s_county,
0005   grouping(s_state) + grouping(s_county) AS lochierarchy,
0006   rank()
0007   OVER (
0008     PARTITION BY grouping(s_state) + grouping(s_county),
0009       CASE WHEN grouping(s_county) = 0
0010         THEN s_state END
0011     ORDER BY sum(ss_net_profit) DESC) AS rank_within_parent
0012 FROM
0013   store_sales, date_dim d1, store
0014 WHERE
0015   d1.d_month_seq BETWEEN 1200 AND 1200 + 11
0016     AND d1.d_date_sk = ss_sold_date_sk
0017     AND s_store_sk = ss_store_sk
0018     AND s_state IN
0019     (SELECT s_state
0020     FROM
0021       (SELECT
0022         s_state AS s_state,
0023         rank()
0024         OVER (PARTITION BY s_state
0025           ORDER BY sum(ss_net_profit) DESC) AS ranking
0026       FROM store_sales, store, date_dim
0027       WHERE d_month_seq BETWEEN 1200 AND 1200 + 11
0028         AND d_date_sk = ss_sold_date_sk
0029         AND s_store_sk = ss_store_sk
0030       GROUP BY s_state) tmp1
0031     WHERE ranking <= 5)
0032 GROUP BY ROLLUP (s_state, s_county)
0033 ORDER BY
0034   lochierarchy DESC
0035   , CASE WHEN lochierarchy = 0
0036   THEN s_state END
0037   , rank_within_parent
0038 LIMIT 100