q53.sql 1.2 KB

123456789101112131415161718192021222324252627282930
  1. SELECT *
  2. FROM
  3. (SELECT
  4. i_manufact_id,
  5. sum(ss_sales_price) sum_sales,
  6. avg(sum(ss_sales_price))
  7. OVER (PARTITION BY i_manufact_id) avg_quarterly_sales
  8. FROM item, store_sales, date_dim, store
  9. WHERE ss_item_sk = i_item_sk AND
  10. ss_sold_date_sk = d_date_sk AND
  11. ss_store_sk = s_store_sk AND
  12. d_month_seq IN (1200, 1200 + 1, 1200 + 2, 1200 + 3, 1200 + 4, 1200 + 5, 1200 + 6,
  13. 1200 + 7, 1200 + 8, 1200 + 9, 1200 + 10, 1200 + 11) AND
  14. ((i_category IN ('Books', 'Children', 'Electronics') AND
  15. i_class IN ('personal', 'portable', 'reference', 'self-help') AND
  16. i_brand IN ('scholaramalgamalg #14', 'scholaramalgamalg #7',
  17. 'exportiunivamalg #9', 'scholaramalgamalg #9'))
  18. OR
  19. (i_category IN ('Women', 'Music', 'Men') AND
  20. i_class IN ('accessories', 'classical', 'fragrances', 'pants') AND
  21. i_brand IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1',
  22. 'importoamalg #1')))
  23. GROUP BY i_manufact_id, d_qoy) tmp1
  24. WHERE CASE WHEN avg_quarterly_sales > 0
  25. THEN abs(sum_sales - avg_quarterly_sales) / avg_quarterly_sales
  26. ELSE NULL END > 0.1
  27. ORDER BY avg_quarterly_sales,
  28. sum_sales,
  29. i_manufact_id
  30. LIMIT 100