
为了评估每天的有效订单完成情况,我们需要计算每天的有效订单完成率。
有效订单是指订单状态为 "completed" 并且用户和司机均未被禁止的订单。
这将帮助我们更好地了解每天的订单完成情况,从而优化服务质量和资源配置。
任务
从 hll_t1
(订单表)和 hll_t2
(用户角色表)中,计算每天的有效订单完成率。
有效订单是指订单状态为 "completed" 并且用户和司机均未被禁止的订单。
结果应以百分比形式展示,并保留两位小数,同时加上百分号。
考点
- 连接操作: 需要将订单表和用户角色表进行多次连接。
- 条件过滤: 需要过滤掉被禁止的用户和司机。
- 聚合函数: 需要使用聚合函数计算订单数量。
- 日期处理: 需要按日期分组。
- 百分比计算: 需要将有效订单数除以总订单数并转换为百分比,并加上百分号。
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真题
MySQL 8.0