题解|5.2021年8月和9月的北京新司机在线时长
2021年8月和9月的北京新司机在线时长
明确题意:
统计2021年8月和9月,每个月的北京市新司机(首单日期在当月为新司机)的在线时长数据
问题拆解:
- 筛选8月和9月的新司机ID,知识点:where
- 关联各司机ID的在线时长,知识点:join
- 关联各司机ID的城市,知识点:join
- 求每个月北京的新司机当月在线时长。知识点:按月份分组group by;对时长求和sum
代码实现:
select DATE_FORMAT(finish_dt, "%Y-%m") as month, round(sum(online_len), 1) as online_line
from driver_tb
join online_time_tb using(driver_id)
join city_tb using(city_id)
where city_name="北京" and finish_dt between "2021-08-01" and "2021-09-30"
and DATE_FORMAT(finish_dt, "%Y%m")=DATE_FORMAT(online_time_tb.dt, "%Y%m")
group by month