SQL 刷题/【美团】生成近 7 天骑手履约时效城市排名
上一题下一题困难通过率 100%

【美团】生成近 7 天骑手履约时效城市排名

JOIN 连接聚合函数窗口函数CASE WHEN日期函数用户行为分析面试真题

题目描述

来源:美团 SQL 面试真题

出行平台需要生成“近 7 天骑手履约时效看板”,按城市评估每位骑手的近 7 天送达单量、准时单量、准时率和平均配送时长,并在城市内排名。

数据表

courier 骑手信息表

字段类型说明
courier_idINT骑手编号,主键
courier_nameVARCHAR(64)骑手姓名
cityVARCHAR(32)所在城市
hired_atDATE入职日期

parcel 包裹履约表

字段类型说明
parcel_idBIGINT包裹编号,主键
courier_idINT骑手编号
shipped_tsDATETIME骑手取件时间
delivered_tsDATETIME实际送达时间,仅统计已送达记录
promised_minutesINT承诺时效,单位为分钟

题目要求

以 parcel 表中最新一条已送达记录的 delivered_ts 的日期作为基准日,统计基准日前 6 天至基准日共 7 个自然日内的履约情况。

对每位骑手计算:

  • orders_7d:近 7 天送达单量。
  • on_time_7d:送达时长小于等于承诺时效的准时单量。
  • on_time_rateon_time_7d / orders_7d,四舍五入保留 2 位小数。
  • avg_minutes_7d:平均配送时长,使用 TIMESTAMPDIFF(MINUTE, shipped_ts, delivered_ts) 计算并四舍五入保留 2 位小数。
  • rank_in_city:在城市内按准时率降序、平均配送分钟数升序计算的 RANK

只输出近 7 天有送达单的骑手。结果按 city、rank_in_city、courier_id 升序排列。

数据样例

当前运行环境
courier_idPKINTcourier_nameVARCHAR(64)cityVARCHAR(32)hired_atDATE
1AliceShanghai2023-01-10
2BobShanghai2023-03-15
3CarolShanghai2024-02-01
4DavidBeijing2022-11-20
5EveBeijing2024-04-05
6FrankBeijing2025-01-01
输入数据显示 6 / 6
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

运行你的 SQL 查询后,结果将显示在这里