q86.sql 635 B

123456789101112131415161718192021222324
  1. SELECT
  2. sum(ws_net_paid) AS total_sum,
  3. i_category,
  4. i_class,
  5. grouping(i_category) + grouping(i_class) AS lochierarchy,
  6. rank()
  7. OVER (
  8. PARTITION BY grouping(i_category) + grouping(i_class),
  9. CASE WHEN grouping(i_class) = 0
  10. THEN i_category END
  11. ORDER BY sum(ws_net_paid) DESC) AS rank_within_parent
  12. FROM
  13. web_sales, date_dim d1, item
  14. WHERE
  15. d1.d_month_seq BETWEEN 1200 AND 1200 + 11
  16. AND d1.d_date_sk = ws_sold_date_sk
  17. AND i_item_sk = ws_item_sk
  18. GROUP BY ROLLUP (i_category, i_class)
  19. ORDER BY
  20. lochierarchy DESC,
  21. CASE WHEN lochierarchy = 0
  22. THEN i_category END,
  23. rank_within_parent
  24. LIMIT 100