右下角图片
2024-11 货拉拉 中等

为了评估不同城市的订单状态分布,我们需要统计每个城市中三种状态(完成、被货主取消、被司机取消)的订单数量,并将结果以行转列的形式展示

任务:

hll_t1(订单表)和 hll_t2(用户角色表)中,统计每个城市中三种状态(完成、被货主取消、被司机取消)的订单数量,并将结果以行转列的形式展示。

考点:

  1. 连接操作: 需要将订单表和用户角色表进行连接。
  2. 条件过滤: 需要过滤出司机的订单。
  3. 聚合函数: 需要使用聚合函数计算每种状态的订单数量。
  4. 行转列: 使用 CASE 语句和聚合函数将行数据转换为列数据。

2025春招面试真题 行列转化 多表连接 group by case when sum

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真题

ID117 计算车方和司机被禁止的比率  
简单 group by case when sum 百分比计算 货拉拉
ID122 人均消费金额定档标签  
简单 group by avg case when sum 聚合函数 CTE或SubQuery 画像标签开发 美团
ID131 各商品漏斗转化率  
中等 group by case when sum 行列转化 购物漏斗分析 拼多多
ID133 晚时段专车比例  
简单 group by case when 滴滴出行
ID134 夜深与专车比例的相关系数  
简单 group by avg case when sum 滴滴出行

MySQL 8.0

00:00