Back to home page

OSCL-LXR

 
 

    


0001 SELECT *
0002 FROM
0003   (SELECT
0004     i_category,
0005     i_class,
0006     i_brand,
0007     i_product_name,
0008     d_year,
0009     d_qoy,
0010     d_moy,
0011     s_store_id,
0012     sumsales,
0013     rank()
0014     OVER (PARTITION BY i_category
0015       ORDER BY sumsales DESC) rk
0016   FROM
0017     (SELECT
0018       i_category,
0019       i_class,
0020       i_brand,
0021       i_product_name,
0022       d_year,
0023       d_qoy,
0024       d_moy,
0025       s_store_id,
0026       sum(coalesce(ss_sales_price * ss_quantity, 0)) sumsales
0027     FROM store_sales, date_dim, store, item
0028     WHERE ss_sold_date_sk = d_date_sk
0029       AND ss_item_sk = i_item_sk
0030       AND ss_store_sk = s_store_sk
0031       AND d_month_seq BETWEEN 1200 AND 1200 + 11
0032     GROUP BY ROLLUP (i_category, i_class, i_brand, i_product_name, d_year, d_qoy,
0033       d_moy, s_store_id)) dw1) dw2
0034 WHERE rk <= 100
0035 ORDER BY
0036   i_category, i_class, i_brand, i_product_name, d_year,
0037   d_qoy, d_moy, s_store_id, sumsales, rk
0038 LIMIT 100