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