q63.sql 1.2 KB

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