题解 | #各城市最大同时等车人数#

各城市最大同时等车人数

http://www.nowcoder.com/practice/f301eccab83c42ab8dab80f28a1eef98

ATTENTION 两个坑: 1.sum加over函数累计和,一定要记得order by dt再加上 状态 desc 2.!!!union 会把分表中的重复行也删去,第二个例子有两个人同时打车,所以加了order_id区分

select city, max(t)  as mt
from
(select city, dt,sum(waiting) over(partition by city order by dt,waiting desc) as t
from
(select city,event_time as dt, 1 as waiting ,order_id
from
tb_get_car_record
 WHERE LEFT(event_time, 7) = '2021-10'
union
select  city,
       if(start_time is null,finish_time,start_time) as dt,
       -1 as waiting,tb_get_car_order.order_id
from
tb_get_car_order inner join tb_get_car_record using(order_id)
WHERE LEFT(event_time, 7) = '2021-10'
) base
)tmp
group by city
order by mt,city
全部评论
union 会把分表中的重复行也删去!!!!精髓
点赞 回复 分享
发布于 2022-02-18 18:13

相关推荐

牛客765689665号:没有实习是硬伤,央国企看学历
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务