ahmedrahil786

Median Function - Shiva

Feb 24th, 2020
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. set @startDate = "2020-02-20 00:00:00";
  2. set @monthInterval = 2;
  3. select
  4. round(avg(dur),2) as median_val
  5. from (
  6. select
  7. dur,
  8. @rownum:=@rownum+1 as `row_number`,
  9. @total_rows:=@rownum
  10. from (
  11. select
  12. r.id as rid,
  13. c.id as cid, c.car_class_id as ccid,
  14. r.start_zone_id as zid, z.region as region, z.city as team,
  15. convert_tz(r.return_at, '+00:00', '+8:00') as return_at,
  16. timestampdiff(minute, r.start_at, r.end_at)/60 as dur,
  17. cc.car_name as model,
  18. m.id as mid
  19. from cars c, reservations r, members m, zones z, car_classes cc
  20. where c.id = r.car_id
  21. and m.id = r.member_id
  22. and z.id = r.end_zone_id
  23. and c.car_class_id = cc.id
  24. and z.id not in (2,3,101)
  25. and z.city = 'PG'
  26. and m.imaginary in ('normal', 'sofam')
  27. and r.state in ('completed')
  28. and convert_tz(r.return_at, '+00:00', '+8:00') >= @startDate
  29. and convert_tz(r.return_at, '+00:00', '+8:00') < date_add(@startDate, interval @monthInterval month)
  30. ) as temp, (select @rownum:=0) r
  31. order by dur
  32. ) as temp2
  33. where temp2.row_number IN ( floor((@total_rows+1)/2), floor((@total_rows+2)/2) );
Advertisement
Add Comment
Please, Sign In to add comment