45 lines
1.2 KiB
SQL
45 lines
1.2 KiB
SQL
SELECT *
|
|
FROM
|
|
(SELECT i_category,
|
|
i_class,
|
|
i_brand,
|
|
i_product_name,
|
|
d_year,
|
|
d_qoy,
|
|
d_moy,
|
|
s_store_id,
|
|
sumsales,
|
|
rank() OVER (PARTITION BY i_category
|
|
ORDER BY sumsales DESC) rk
|
|
FROM
|
|
(SELECT i_category,
|
|
i_class,
|
|
i_brand,
|
|
i_product_name,
|
|
d_year,
|
|
d_qoy,
|
|
d_moy,
|
|
s_store_id,
|
|
sum(coalesce(ss_sales_price*ss_quantity,0)) sumsales
|
|
FROM store_sales,
|
|
date_dim,
|
|
store,
|
|
item
|
|
WHERE ss_sold_date_sk=d_date_sk
|
|
AND ss_item_sk=i_item_sk
|
|
AND ss_store_sk = s_store_sk
|
|
AND d_month_seq BETWEEN 1200 AND 1200+11
|
|
GROUP BY rollup(i_category, i_class, i_brand, i_product_name, d_year, d_qoy, d_moy,s_store_id))dw1) dw2
|
|
WHERE rk <= 100
|
|
ORDER BY i_category NULLS FIRST,
|
|
i_class NULLS FIRST,
|
|
i_brand NULLS FIRST,
|
|
i_product_name NULLS FIRST,
|
|
d_year NULLS FIRST,
|
|
d_qoy NULLS FIRST,
|
|
d_moy NULLS FIRST,
|
|
s_store_id NULLS FIRST,
|
|
sumsales NULLS FIRST,
|
|
rk NULLS FIRST
|
|
LIMIT 100;
|