如果这个问题已经有答案了,我很抱歉,只是找不到。
我正在为我的家庭系统制作一个小图表,这是我的储蓄概览,我已经有了一个图表,显示了每个月的支出。
这是到目前为止我设法使工作的SQL语句
SELECT SUM(amount) AS total, DATE(dt) AS `date` FROM `savings` GROUP BY MONTH(`date`)
这给出了这样的结果:SQL结果图像
但这并不是我所要做的,因为这份声明给出了每个月的金额,我需要的是一份加在最后一笔金额上的声明,这样我就可以看到几个月来的全部储蓄金额,如果这有意义的话?
听起来你想要WITH ROLLUP:
SELECT SUM(amount) AS total, EXTRACT(YEAR_MONTH FROM dt) AS `yearmonth`
FROM `savings`
GROUP BY yearmonth WITH ROLLUP;
这将按年/月进行分组,并在结果集中再添加一行,即总数。在该汇总行中,yearmonth列将返回为NULL。