0001 SELECT
0002 i_item_id,
0003 i_item_desc,
0004 i_category,
0005 i_class,
0006 i_current_price,
0007 sum(ws_ext_sales_price) AS itemrevenue,
0008 sum(ws_ext_sales_price) * 100 / sum(sum(ws_ext_sales_price))
0009 OVER
0010 (PARTITION BY i_class) AS revenueratio
0011 FROM
0012 web_sales, item, date_dim
0013 WHERE
0014 ws_item_sk = i_item_sk
0015 AND i_category IN ('Sports', 'Books', 'Home')
0016 AND ws_sold_date_sk = d_date_sk
0017 AND d_date BETWEEN cast('1999-02-22' AS DATE)
0018 AND (cast('1999-02-22' AS DATE) + INTERVAL 30 days)
0019 GROUP BY
0020 i_item_id, i_item_desc, i_category, i_class, i_current_price
0021 ORDER BY
0022 i_category, i_class, i_item_id, i_item_desc, revenueratio
0023 LIMIT 100