题解 | #获取指定客户每月的消费额#
获取指定客户每月的消费额
https://www.nowcoder.com/practice/ed04f148b63e469e8f62e051d06a46f5
要查询客户 Tom 在 2023 年每月的消费金额,可以通过以下步骤实现:
- 先将交易表
trade
与客户表customer
进行连接,筛选出客户为 Tom 的交易。 - 然后筛选出
t_type = 1
的消费记录,过滤时间在 2023 年的交易。 - 按月份汇总每月的消费金额,并按月份正序排列。
SQL 查询语句
SELECT MONTH(t.t_time) AS month, -- 提取月份 SUM(t.t_amount) AS total_consumption -- 每月消费金额汇总 FROM trade t JOIN customer c ON t.t_cus = c.c_id -- 连接客户表 WHERE c.c_name = 'Tom' -- 筛选客户为 Tom AND t.t_type = 1 -- 筛选消费记录 AND YEAR(t.t_time) = 2023 -- 筛选在 2023 年的记录 GROUP BY MONTH(t.t_time) -- 按月份汇总 ORDER BY month ASC; -- 按月份正序排列
说明
MONTH(t.t_time)
提取交易日期的月份,以便按月统计。SUM(t.t_amount)
计算每月的消费总金额。GROUP BY MONTH(t.t_time)
按月份分组,得到每个月的消费金额。ORDER BY month ASC
将结果按月份正序排列。