【携程】统计各会员等级订单总额
JOIN 连接聚合函数GROUP BYORDER BY营收统计面试真题
题目描述
来源:携程 SQL 面试真题
某公司需要结合订单数据和用户会员等级数据,统计每个会员等级的订单总额。
数据表
order_tb 订单信息表
| 字段 | 类型 | 说明 |
|---|---|---|
| order_id | BIGINT | 订单 ID |
| user_id | BIGINT | 用户 ID |
| order_price | DECIMAL | 订单金额 |
| order_time | DATETIME | 订单创建时间 |
uservip_tb 会员等级信息表
| 字段 | 类型 | 说明 |
|---|---|---|
| user_id | BIGINT | 用户 ID |
| vip | VARCHAR | 会员等级 |
| point | INT | 会员积分 |
题目要求
- 统计每个会员等级下所有用户的订单金额总和。
- 某会员等级即使没有任何用户下单,也必须输出该会员等级,订单总额记为 0。
- 按订单总额降序排列;订单总额相同时按会员等级升序排列。
期望输出列
| 列名 | 说明 |
|---|---|
| vip | 会员等级 |
| order_total | 该会员等级的订单总额 |
数据样例
| order_idPKBIGINT | user_idBIGINT | order_priceDECIMAL(12, 2) | order_timeDATETIME |
|---|---|---|---|
| 101 | 11 | 380 | 2022-09-01 09:00:00 |
| 102 | 12 | 200 | 2022-09-01 10:00:00 |
| 103 | 13 | 260 | 2022-09-01 12:00:00 |
| 104 | 11 | 100 | 2022-09-02 11:00:00 |
| 105 | 12 | 150 | 2022-09-02 12:00:00 |
| 106 | 12 | 1200 | 2022-09-02 13:00:00 |
| 107 | 11 | 60 | 2022-09-03 09:00:00 |
| 108 | 13 | 380 | 2022-09-03 09:30:00 |
输入数据显示 8 / 8 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里