q12.sql 624 B

12345678910111213141516171819202122
  1. SELECT
  2. i_item_desc,
  3. i_category,
  4. i_class,
  5. i_current_price,
  6. sum(ws_ext_sales_price) AS itemrevenue,
  7. sum(ws_ext_sales_price) * 100 / sum(sum(ws_ext_sales_price))
  8. OVER
  9. (PARTITION BY i_class) AS revenueratio
  10. FROM
  11. web_sales, item, date_dim
  12. WHERE
  13. ws_item_sk = i_item_sk
  14. AND i_category IN ('Sports', 'Books', 'Home')
  15. AND ws_sold_date_sk = d_date_sk
  16. AND d_date BETWEEN cast('1999-02-22' AS DATE)
  17. AND (cast('1999-02-22' AS DATE) + INTERVAL 30 days)
  18. GROUP BY
  19. i_item_id, i_item_desc, i_category, i_class, i_current_price
  20. ORDER BY
  21. i_category, i_class, i_item_id, i_item_desc, revenueratio
  22. LIMIT 100