q9.sql 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. SELECT
  2. CASE WHEN (SELECT count(*)
  3. FROM store_sales
  4. WHERE ss_quantity BETWEEN 1 AND 20) > 62316685
  5. THEN (SELECT avg(ss_ext_discount_amt)
  6. FROM store_sales
  7. WHERE ss_quantity BETWEEN 1 AND 20)
  8. ELSE (SELECT avg(ss_net_paid)
  9. FROM store_sales
  10. WHERE ss_quantity BETWEEN 1 AND 20) END bucket1,
  11. CASE WHEN (SELECT count(*)
  12. FROM store_sales
  13. WHERE ss_quantity BETWEEN 21 AND 40) > 19045798
  14. THEN (SELECT avg(ss_ext_discount_amt)
  15. FROM store_sales
  16. WHERE ss_quantity BETWEEN 21 AND 40)
  17. ELSE (SELECT avg(ss_net_paid)
  18. FROM store_sales
  19. WHERE ss_quantity BETWEEN 21 AND 40) END bucket2,
  20. CASE WHEN (SELECT count(*)
  21. FROM store_sales
  22. WHERE ss_quantity BETWEEN 41 AND 60) > 365541424
  23. THEN (SELECT avg(ss_ext_discount_amt)
  24. FROM store_sales
  25. WHERE ss_quantity BETWEEN 41 AND 60)
  26. ELSE (SELECT avg(ss_net_paid)
  27. FROM store_sales
  28. WHERE ss_quantity BETWEEN 41 AND 60) END bucket3,
  29. CASE WHEN (SELECT count(*)
  30. FROM store_sales
  31. WHERE ss_quantity BETWEEN 61 AND 80) > 216357808
  32. THEN (SELECT avg(ss_ext_discount_amt)
  33. FROM store_sales
  34. WHERE ss_quantity BETWEEN 61 AND 80)
  35. ELSE (SELECT avg(ss_net_paid)
  36. FROM store_sales
  37. WHERE ss_quantity BETWEEN 61 AND 80) END bucket4,
  38. CASE WHEN (SELECT count(*)
  39. FROM store_sales
  40. WHERE ss_quantity BETWEEN 81 AND 100) > 184483884
  41. THEN (SELECT avg(ss_ext_discount_amt)
  42. FROM store_sales
  43. WHERE ss_quantity BETWEEN 81 AND 100)
  44. ELSE (SELECT avg(ss_net_paid)
  45. FROM store_sales
  46. WHERE ss_quantity BETWEEN 81 AND 100) END bucket5
  47. FROM reason
  48. WHERE r_reason_sk = 1