SELECT i_item_id , i_item_desc, i_category, i_class, i_current_price , sum(ss_ext_sales_price) AS itemrevenue, sum(ss_ext_sales_price)*100.0000/sum(sum(ss_ext_sales_price)) OVER (PARTITION BY i_class) AS revenueratio FROM store_sales , item, date_dim WHERE ss_item_sk = i_item_sk AND i_category IN ('Sports', 'Books', 'Home') AND ss_sold_date_sk = d_date_sk AND d_date BETWEEN cast('1999-02-22' AS date) AND cast('1999-03-24' AS date) GROUP BY i_item_id , i_item_desc, i_category , i_class , i_current_price ORDER BY i_category NULLS FIRST, i_class NULLS FIRST, i_item_id NULLS FIRST, i_item_desc NULLS FIRST, revenueratio NULLS FIRST;