要查询客户 Tom 在 2023 年每月的消费金额,可以通过以下步骤实现:

  1. 先将交易表 trade 与客户表 customer 进行连接,筛选出客户为 Tom 的交易。
  2. 然后筛选出 t_type = 1 的消费记录,过滤时间在 2023 年的交易。
  3. 按月份汇总每月的消费金额,并按月份正序排列。

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 将结果按月份正序排列。