简单
技术面试0 次浏览

在蚂蚁集团的支付业务中,我们会记录大量的交易数据。请编写一个 SQL 查询,统计每个用户在过去一个月内的交易总金额。假设交易表名为 `transactions`,包含字段 `user_id`、`transaction_amount` 和 `transaction_time`。

蚂蚁集团数据分析师
SQL数据统计支付业务

答题要点

推荐答题框架:采用直接分析问题、逐步构建 SQL 语句的方式。关键要点如下:1. 确定时间范围:使用 `transaction_time` 筛选出过去一个月内的交易记录,可借助 `DATE_SUB` 函数。2. 按用户分组:通过 `GROUP BY` 对 `user_id` 进行分组,以便统计每个用户的交易情况。3. 计算总金额:使用 `SUM` 函数对每个用户的 `transaction_amount` 求和。示例话术:首先,使用 `DATE_SUB(CURDATE(), INTERVAL 1 MONTH)` 确定过去一个月的起始时间,然后在 `WHERE` 子句中筛选出 `transaction_time` 大于该起始时间的记录。接着,使用 `GROUP BY user_id` 对用户进行分组,最后用 `SUM(transaction_amount)` 计算每个用户的交易总金额。SQL 语句如下:SELECT user_id, SUM(transaction_amount) FROM transactions WHERE transaction_time >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) GROUP BY user_id;