2024-11 货拉拉 中等

为了评估不同城市的有效订单完成情况,我们需要计算每个城市的有效订单完成率。有效订单是指订单状态为 "completed" 并且用户和司机均未被禁止的订单。这将帮助我们更好地了解不同城市的订单完成情况,从而优化服务质量和资源配置。

任务

hll_t1(订单表)和 hll_t2(用户角色表)中,计算每个城市的有效订单完成率。

有效订单是指订单状态为 "completed" 并且用户和司机均未被禁止的订单

结果应以百分比形式展示,并保留两位小数。

考点

  1. 连接操作: 需要将订单表和用户角色表进行多次连接。
  2. 条件过滤: 需要过滤掉被禁止的用户和司机。
  3. 聚合函数: 需要使用聚合函数计算订单数量。
  4. 子查询: 可能需要使用子查询来计算总订单数和有效订单数。
  5. 百分比计算: 需要将有效订单数除以总订单数并转换为百分比。

多表连接 百分比计算 left join

hll_t1,订单表

order_id usr_id driver_id cty status order_dt
1 1 d16 北京 cancel_by_driver 2020-01-23
2 6 d12 上海 completed 2020-01-24
3 3 d15 深圳 cancel_by_usr 2020-01-25

hll_t2,用户角色表,banned=1表示该用户被禁止,role有两个枚举值,usr表示货主、driver表示司机。

usr_id banned role
1 0 usr
2 0 usr
3 0 usr

 成为会员,解锁300道大厂数分SQL真题

ID96 只被购买未被收藏的商品  
简单 left join 购物漏斗分析 小红书
ID113 先收藏后购买的用户数  
中等 left join 行列转化 购物漏斗分析 小红书
ID116 计算每天的有效订单完成率  
中等 left join 多表连接 百分比计算 货拉拉
ID652 用户7日留存率  
中等 left join count 留存率计算 CTE或SubQuery 用户分析 哈啰出行
ID672 用户30日留存率  
困难 left join count 留存率计算 CTE或SubQuery 用户分析 哔哩哔哩

MySQL 8.0

00:00