我的应用程序存储客户完成的付款。在每个月的月底,计算当月支付的总额并提供给所有者:我有一个支付表,其中包含以下字段(最重要)。MySQL在最近12个月内获取付款演变图的查询
ID,datepaid,ENDINGDATE(实际月的截止日期),ammount的,类型,代码,...
现在,有一年支付,我一直要求创建款项的图最近12个月的进化(总计)。
通过阅读等这是我得到的查询,,但我不知道如何获得最新的12个月总计(并获得0,以防未付款完成当月)... 。
SELECT id, endingdate, datepaid, SUM(ammount) AS total
FROM `sis_payments`
WHERE endingdate >= DATE_SUB(CURDATE() , INTERVAL 1 YEAR)
GROUP BY endingdate
我知道这可能会被严重设计的,但它是我得到了什么...任何线索?谢谢
与此查询解决:SELECT DATE_FORMAT(mrendido, '%M')为xmonth,DATE_FORMAT(mrendido, '%Y')作为xyear ,SUM(FORMAT(ammountpaid,2))AS ammtotal FROM sis_pyments \t WHERE mrendido> = DATE_SUB(CURDATE(),间隔1年) GROUP BY xmonth,xyear ORDER BY xyear,xmonth ASC – Enrique
除非需要显示月份和一年分开,您可以使用'DATE_FORMAT'使您的查询更加简洁。我正在用示例更新我的原始答案。 – bfavaretto
哇,没注意到。使用date_format连接月份+年份,并通过此生成的字段进行分组变得更容易。谢谢! – Enrique