ahmedrahil786

Referral Signup to MFT- Shanyi and Rahil

Mar 16th, 2020
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 KB | None | 0 0
  1. set @start := '2017-03-01 00:00';
  2. set @end := '2020-03-23 00:00';
  3. #set @end := now();
  4.  
  5. select D.Year,
  6. D.month,
  7. D.RefSignUps,
  8. C.RefMFTs,
  9. ROUND(C.RefMFTs/D.RefSignUps*100,2) AS "RefMFT/SU"
  10.  
  11. from
  12. (select LEFT(YearWEEK(case when A.signUpDate >= @start then A.signUpDate end,3),4) AS Year,
  13. month(case when A.signUpDate >= @start then A.signUpDate end) as month,
  14. count(distinct case when A.signUpDate >= @start then A.signUpDate end) as RefSignUps
  15. from
  16. (select m.id as mid,
  17. ma.recommender as Recommender,
  18. convert_tz(m.created_at, '+00:00', '+8:00') as signUpDate,
  19. ifnull(min(r.id),0) as MFTid,
  20. convert_tz(r.created_at, '+00:00', '+8:00') as MFTdate
  21. from members m
  22. join member_appendixes ma on ma.member_id = m.id
  23. left join reservations r on r.member_id=m.id
  24.  
  25. where m.imaginary = 'normal'
  26. and (m.created_at + interval 8 hour) >= @start
  27. and (m.created_at + interval 8 hour) < @end
  28. and (ma.recommender like '%@%'
  29. and ma.recommender not like '%activation@%'
  30. and ma.recommender not in ('[email protected]', '[email protected]','[email protected]',
  31. group by 1)A group by Year, month)D
  32.  
  33. left join
  34.  
  35. (select LEFT(YearWEEK(case when B.MFTdate >= @start then B.MFTdate end,3),4) AS Year,
  36. month(case when B.MFTdate >= @start then B.MFTdate end) as month,
  37. count(distinct case when B.MFTdate >= @start then B.MFTid end) as RefMFTs
  38. from
  39. (select m.id as mid,
  40. ma.recommender as Recommender,
  41. convert_tz(m.created_at, '+00:00', '+8:00') as signUpDate,
  42. ifnull(min(r.id),0) as MFTid,
  43. convert_tz(r.created_at, '+00:00', '+8:00') as MFTdate
  44. from members m
  45. join member_appendixes ma on ma.member_id = m.id
  46. left join reservations r on r.member_id=m.id
  47.  
  48. where m.imaginary = 'normal'
  49. and (m.created_at + interval 8 hour) >= @start
  50. and (m.created_at + interval 8 hour) < @end
  51. and (ma.recommender like '%@%'
  52. and ma.recommender not like '%activation@%'
  53. and ma.recommender not in ('[email protected]', '[email protected]','[email protected]',
  54. group by 1 )B group by Year, month)C
  55. ON D.Year = C.Year and D.month = C.month
  56.  
  57.  
  58. group by Year, month
  59. order by Year desc, month desc
Advertisement
Add Comment
Please, Sign In to add comment