Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set @startDate = "2020-02-20 00:00:00";
- set @monthInterval = 2;
- select
- round(avg(dur),2) as median_val
- from (
- select
- dur,
- @rownum:=@rownum+1 as `row_number`,
- @total_rows:=@rownum
- from (
- select
- r.id as rid,
- c.id as cid, c.car_class_id as ccid,
- r.start_zone_id as zid, z.region as region, z.city as team,
- convert_tz(r.return_at, '+00:00', '+8:00') as return_at,
- timestampdiff(minute, r.start_at, r.end_at)/60 as dur,
- cc.car_name as model,
- m.id as mid
- from cars c, reservations r, members m, zones z, car_classes cc
- where c.id = r.car_id
- and m.id = r.member_id
- and z.id = r.end_zone_id
- and c.car_class_id = cc.id
- and z.id not in (2,3,101)
- and z.city = 'PG'
- and m.imaginary in ('normal', 'sofam')
- and r.state in ('completed')
- and convert_tz(r.return_at, '+00:00', '+8:00') >= @startDate
- and convert_tz(r.return_at, '+00:00', '+8:00') < date_add(@startDate, interval @monthInterval month)
- ) as temp, (select @rownum:=0) r
- order by dur
- ) as temp2
- where temp2.row_number IN ( floor((@total_rows+1)/2), floor((@total_rows+2)/2) );
Advertisement
Add Comment
Please, Sign In to add comment