【京东】统计快递员七月总收入
WHERE 条件JOIN 连接聚合函数GROUP BYORDER BY营收统计面试真题
题目描述
来源:京东 SQL 面试真题
物流公司需要分析快递员的薪资构成,请统计每个快递员 2024 年 7 月的总收入。
数据表
couriers_info 快递员表
| 字段 | 类型 | 说明 |
|---|---|---|
| courier_id | INT | 快递员 ID,主键 |
| courier_name | VARCHAR(50) | 快递员姓名 |
| base_salary | DECIMAL(10,2) | 基本工资,按月计入收入 |
deliveries_info 派送表
| 字段 | 类型 | 说明 |
|---|---|---|
| delivery_id | INT | 派送任务 ID,主键 |
| courier_id | INT | 快递员 ID |
| delivery_date | DATE | 派送日期 |
| delivery_fee | DECIMAL(10,2) | 单次派送费用 |
expenses_info 支出表
| 字段 | 类型 | 说明 |
|---|---|---|
| expense_id | INT | 支出记录 ID,主键 |
| courier_id | INT | 快递员 ID |
| expense_date | DATE | 支出日期 |
| expense_amount | DECIMAL(10,2) | 支出金额 |
| expense_reason | VARCHAR(100) | 支出原因或用途 |
统计口径
- 总收入 = 基本工资 + 2024 年 7 月派送费用总和 - 2024 年 7 月支出总和。
- 派送和支出日期范围均为 [2024-07-01, 2024-08-01)。
- 没有 7 月派送或支出记录的快递员仍然输出,对应金额按 0 处理。
- total_income 四舍五入保留 2 位小数。
- 结果按 courier_id 升序排列。
期望输出列
| 列名 | 说明 |
|---|---|
| courier_id | 快递员 ID |
| courier_name | 快递员姓名 |
| total_income | 2024 年 7 月总收入 |
数据样例
| courier_idPKINT | courier_nameVARCHAR(50) | base_salaryDECIMAL(10,2) |
|---|---|---|
| 1 | Alice | 5000 |
| 2 | Bob | 4500 |
| 3 | Carol | 4000 |
| 4 | David | 3500 |
输入数据显示 4 / 4 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里