【问题标题】:MySQL sum amount by each months from last 12 month to this month从过去 12 个月到本月的每个月的 MySQL 总和
【发布时间】:2018-04-02 01:15:43
【问题描述】:

我想总结从过去 12 个月前到现在每个月的金额。 那么MySQL查询怎么写,我对MySQL很穷。

select sum(amount) as monthly_expense from tb_expense 
where between last 12 and now();

【问题讨论】:

标签: mysql sql


【解决方案1】:

您尚未提及您的表格格式以及表格上存储日期的字段。但是对于您的功能,您需要有一列存储每条记录的日期。假设你有一个专栏 expense_date 试试这个:

SELECT SUM(amount) AS monthly_expense FROM tb_expense 
WHERE tb_expense.date > (DATE_SUB(CURDATE(), INTERVAL 12 MONTH))

如果您的表格数据不同,请告诉我们。

【讨论】:

    【解决方案2】:

    你基本上想要:

    select sum(amount) as monthly_expense
    from tb_expense
    where datecol >= curdate() - interval 1 year;
    

    datecol 是表中存储相关日期的任何列。

    如果您希望每月获得此信息,请使用group by

    select year(datecol), month(datecol), sum(amount) as monthly_expense
    from tb_expense
    where datecol >= curdate() - interval 1 year
    group by year(datecol), month(datecol);
    

    请注意,在此公式中,第一个月和最后几个月将是部分的。这就是您的问题具体要求的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 2021-02-11
      相关资源
      最近更新 更多