题解|3.各司机总在线时长大于2小时的信息
各司机总在线时长大于2小时的信息
明确题意:
统计各司机总在线时长大于2小时的城市名称,司机id和总在线时长
问题拆解:
- 求每个司机的总在线时长,知识点:按司机ID分组:group by;求和:sum
- 筛选总在线时长大于2小时的司机ID,知识点:分组后过滤having
- 关联司机ID的城市ID,知识点:join
- 关联城市ID的城市名称,知识点:join
代码实现:
select city_name, online_time_tb.driver_id, round(sum(online_len), 1) as online_sum
from online_time_tb
left join driver_tb using(driver_id)
left join city_tb using(city_id)
group by driver_id
having online_sum>2