【蚂蚁】统计客户年度月度消费金额
JOIN 连接聚合函数GROUP BY日期函数营收统计面试真题
题目描述
来源:蚂蚁 SQL 面试真题
某金融公司需要分析指定客户的年度消费情况。请查询客户 Tom 在 2023 年每个月的消费金额,并按月份正序展示。
数据表
trade 交易表
| 字段 | 类型 | 说明 |
|---|---|---|
| t_id | BIGINT | 交易流水号 |
| t_time | DATETIME | 交易时间 |
| t_cus | BIGINT | 交易客户 ID |
| t_type | TINYINT | 交易类型,1 表示消费,0 表示转账 |
| t_amount | DECIMAL | 交易金额 |
customer 客户表
| 字段 | 类型 | 说明 |
|---|---|---|
| c_id | BIGINT | 客户号 |
| c_name | VARCHAR | 客户名称 |
题目要求
- 只统计客户名称为 Tom 的交易。
- 只统计 2023-01-01 00:00:00 至 2024-01-01 00:00:00 之前的交易,即 2023 年全年。
- 只统计交易类型 t_type = 1 的消费记录,转账记录不计入。
- 按月份汇总消费金额,月份格式为 YYYY-MM。
- 只输出 Tom 实际发生消费的月份,不需要补齐没有消费的月份。
- 按月份升序排列。
期望输出列
| 列名 | 说明 |
|---|---|
| time | 消费月份,格式 YYYY-MM |
| total | 当月消费金额 |
数据样例
| t_idPKBIGINT | t_timeDATETIME | t_cusBIGINT | t_typeTINYINT | t_amountDECIMAL(12, 1) |
|---|---|---|---|---|
| 1 | 2022-01-19 03:14:08 | 101 | 1 | 45 |
| 2 | 2023-02-15 11:22:11 | 101 | 1 | 23.6 |
| 3 | 2023-03-19 05:33:22 | 102 | 0 | 350 |
| 4 | 2023-03-21 06:44:09 | 103 | 1 | 16.9 |
| 5 | 2023-02-21 08:44:09 | 101 | 1 | 26.9 |
| 6 | 2023-07-07 07:11:45 | 101 | 1 | 1200 |
| 7 | 2023-07-19 06:04:32 | 102 | 1 | 132.5 |
| 8 | 2023-09-19 11:23:11 | 101 | 1 | 130.6 |
输入数据显示 8 / 10 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里