Advertisement
Guest User

Untitled

a guest
Apr 19th, 2014
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. Create table joborder (
  2. jo_no int(10),
  3. jo_date datetime,
  4. jo_status char(10)
  5. );
  6.  
  7. insert into joborder values( 1,'01-03-13','A');
  8. insert into joborder values( 2,'01-03-13','A');
  9. Insert into joborder values (3,'01-03-13','A');
  10. insert into joborder values( 4,'04-03-13','A');
  11. insert into joborder values(5,'08-03-13','B');
  12. insert into joborder values( 6,'12-03-13','C');
  13.  
  14. Date TotalJoborder A B C
  15. ---------------------------------------------
  16. 01-03-13 3 3 0 0
  17. 04-03-13 1 0 1 0
  18. 08-03-13 1 0 1 0
  19. 12-03-13 1 0 0 1
  20.  
  21. Date TotalJoborder A B C
  22. ---------------------------------------------
  23. 01-03-13 3 3 0 0
  24. 04-03-13 4 3 1 0
  25. 08-03-13 5 3 1 1
  26. 12-03-13 6 4 1 1
  27.  
  28. select jo_date,
  29. count(*) as total_job_order,
  30. sum(case when jo_status= 'A' then 1 else 0 end) as status_a,
  31. sum(case when jo_status= 'B' then 1 else 0 end) as status_b,
  32. sum(case when jo_status= 'C' then 1 else 0 end) as status_c
  33. from joborder
  34. group by jo_date
  35. order by jo_date;
  36.  
  37. select jo_date,
  38. (select count(*) from joborder j2 where j2.jo_date <= t1.jo_date) as running_sum,
  39. status_b,
  40. status_c
  41. from (
  42. select jo_date,
  43. sum(case when jo_status= 'A' then 1 else 0 end) as status_a,
  44. sum(case when jo_status= 'B' then 1 else 0 end) as status_b,
  45. sum(case when jo_status= 'C' then 1 else 0 end) as status_c
  46. from joborder
  47. group by jo_date
  48. order by jo_date
  49. ) t1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement