ahmedrahil786

Changing MFTs - Study Analyses

Jul 25th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. set @start := '2019-1-1';
  2.  
  3. select
  4. A.mid,
  5. B.rid,
  6. B.email,
  7. I.age,
  8. A.date as MFTdate,
  9. B.date as Createddate,
  10. A.week,
  11. I.resv_hour,
  12. I.occupy_start_hour,
  13. count(A.mid) as totalmfts,
  14. B.dur,
  15. B.ad_sdur,
  16. B.carname,
  17. IFNULL(B.city,"") as City,
  18. IFNULL(B.region,"") as Region,
  19. IFNULL(B.zid,"") as zoneid,
  20. IFNULL(E.charges,0) as gross_rev,
  21. IFNULL(F.coupon_Spent,0) as Coupon_Spent,
  22. round((IFNULL(E.charges,0) - IFNULL(F.coupon_Spent,0)),2) as net_rev,
  23. G.referral,
  24. IFNULL(H.comment,"") as couponname,
  25. IFNULL(B.referral,"") as Referral,
  26. I.way,
  27. I.state,
  28. I.resv_Date,
  29. timestampdiff(day, B.date, I.resv_Date) as Signup_to_MFT_datediff
  30. from
  31. (select
  32. distinct c.member_id as mid,
  33. date(c.created_at + interval '8' hour) as date,
  34. WEEKOFYEAR(c.created_at + interval '8' hour) as Week
  35. from charges c
  36. where c.kind = 'subscriptionFee'
  37. and c.created_at + interval '8' hour >= @start) A
  38. join
  39. (select distinct r.member_id as mid,
  40. min(r.id) as rid
  41. from reservations r
  42. group by 1
  43. order by r.member_id Asc) L
  44. on L.mid = A.mid
  45. left join
  46. (select
  47. distinct r.id as rid,
  48. date(m.created_at + interval '8' hour) as date,
  49. m.email as email,
  50. ma.recommender as referral,
  51. round(sum(timestampdiff(minute, r.start_at, r.end_at)/60),2) as dur,
  52. round(sum(floor(timestampdiff(minute, r.start_at, r.end_at)/60/24)*12+if(mod(timestampdiff(hour, r.start_at, r.end_at),24)>=12,12,mod(timestampdiff(minute, r.start_at, r.end_at)/60,24))),2) as ad_sdur,
  53. z.city as city,
  54. z.region as region,
  55. z.id as zid,
  56. cc.car_name as carname
  57. from reservations r
  58. join members m on r.member_id = m.id
  59. join member_appendixes ma on ma.member_id = m.id
  60. join zones z on r.start_zone_id = z.id
  61. join cars ca on ca.id = r.car_id
  62. join car_classes cc on cc.id = ca.car_class_id
  63. where m.imaginary in ('sofam', 'normal')
  64. and r.member_id not in ('125', '127')
  65. and r.start_at + interval '8' hour >= @start
  66. group by r.id) B
  67. on L.rid = B.rid
  68. left join
  69. (select c.reservation_id as rid, sum(c.amount) as charges from charges c
  70. where c.state='normal' and c.kind in ('rent','oneway','d2d','mileage') and c.created_at + interval '8' hour >= @start
  71. group by rid) E on B.rid = E.rid
  72. left join
  73. (select p.reservation_id as rid, month(p.created_at + interval '8' hour) as month,Year(p.created_at + interval '8' hour) as year, IFNULL(p.amount,0) as coupon_Spent from payments p
  74. where p.state = 'normal' and p.paid_type = 'coupon'
  75. group by p.reservation_id) F on F.rid = E.rid
  76. left join
  77. (select
  78. distinct ma.member_id as mid,
  79. count(distinct case when ma.recommender like '%@%' then ma.member_id end) as referral
  80. from member_appendixes ma
  81. group by 1) G
  82. on G.mid = A.mid
  83. left join
  84. (select
  85. Distinct c.reservation_id as rid,
  86. c.comment as comment
  87. from coupons c) H
  88. on H.rid = B.rid
  89. left join
  90. (select distinct r.id as rid,
  91. r.state as state,
  92. r.way as way,
  93. Date(r.start_at + interval '8' hour) as resv_Date,
  94. hour(r.start_at + interval '8' hour) as resv_hour,
  95. hour(r.occupy_start_at + interval '8' hour) as occupy_start_hour,
  96. (YEAR(r.occupy_start_at) - YEAR(m.birthday)) as age
  97. from reservations r
  98. join members m on m.id = r.member_id) I
  99. on I.rid = B.rid
  100. where B.city is not null
  101. group by A.mid
Advertisement
Add Comment
Please, Sign In to add comment