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

各城市最大同时等车人数

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

select city,max(uv_cnt) as max_wait_uv
from(
select city,sum(uv)over(partition by city order by uv_time,uv desc) as uv_cnt
from(
SELECT city,event_time uv_time,1 AS uv FROM  tb_get_car_record #进入等车状态
        UNION ALL
SELECT city,end_time uv_time,-1 AS uv FROM  tb_get_car_record WHERE order_id IS NULL #接单前用户取消
        UNION ALL
SELECT city,IFNULL(start_time,finish_time) uv_time,-1 AS uv #如果上车前用户或者司机取消,记录finshtime,否则记录starttime作为上车时间
FROM tb_get_car_order LEFT JOIN tb_get_car_record USING(order_id)) as t1
WHERE DATE_FORMAT(uv_time,'%Y%m')='202110') as t2
group by city
order by max_wait_uv,city

瞬时uv的问题,注意三种情况:用户在接单前取消、用户或司机在上车前取消、用户上车,然后按照城市最后分类聚合统计即可

全部评论

相关推荐

头顶尖尖的程序员:黑马外卖➕鱼皮bi
点赞 评论 收藏
分享
08-11 17:48
辽宁大学 财务
投秋招已经快两周,每天就是投投投到厌倦然后躺床上刷痘印越刷越焦虑
驼瑞驰_招募评论官版...:你把牛客放中间,那你必得offer的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务