Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. your answer but not working
  2. WITH daily_sums_table AS
  3. (select city.name,
  4. daily_sales.day,
  5. salesman.id as salesman_id,
  6. sum(amount_earned) as sum_amount_earned
  7. from daily_sales
  8. join salesman on daily_sales.salesman_id = salesman.id
  9. join city on salesman.city_id = city.id
  10. group by 1,2,3),
  11.  
  12. average_daily_table AS
  13. (select avg(sum_amount_earned) as avg_daily_sums_earned
  14. from daily_sums_table)
  15.  
  16. select city.id,
  17. city.name,
  18. count(daily_sums_table.day)
  19. --count(case when daily_sums_earned > avg_daily_sums_earned then 1 else 0 end)
  20. from city
  21. join salesman
  22. on city.id = salesman.city_id
  23. join daily_sales
  24. on salesman.id = daily_sales.salesman_id
  25. join daily_sums_table
  26. on salesman.id = daily_sums_table.salesman_id
  27. where sum_amount_earned > (select avg_daily_sums_earned from average_daily_table)
  28. group by 1,2
  29.  
  30.  
  31. ------------------------------------------------------------------------------------------------------------------------
  32. answer:
  33. with daily_sums as (
  34. select daily_sales.day,
  35. city.id,
  36. city.name,
  37. sum(amount_earned)as sum_amount_earned
  38. from daily_sales
  39. join salesman on daily_sales.salesman_id = salesman.id
  40. join city on salesman.city_id = city.id
  41. group by daily_sales.day,city.id,city.name),
  42.  
  43. average_daily as
  44. (select avg(sum_amount_earned) as avg_sum_amount_earned from daily_sums)
  45.  
  46. select daily_sums.id,
  47. daily_sums.name,
  48. count(daily_sums.day) from
  49. daily_sums
  50. where sum_amount_earned > (select avg_sum_amount_earned from average_daily)
  51. group by daily_sums.id, daily_sums.name
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement