在php / mysql中总计一个月至今的金额

时间:2018-11-27 16:33:53

标签: php mysql date sum

我有一个扩展数据库,但是看起来像:

|id|amount| office|   date   |
| 1| 50.00|Orlando|2018-11-05|
| 2| 20.00|Orlando|2018-11-09|
| 3| 10.00|Orlando|2018-11-09|
| 4| 80.00|Orlando|2018-11-19|
...

我使用此查询来获取指定办公室中实际月份的金额SUM:

SELECT SUM(amount) AS value 
FROM pagos 
WHERE MONTH(date) = MONTH(CURDATE()) 
AND office = 'Orlando'

但是我没有得到正确的数量(我得到的太多),我怎么知道?因为我也使用了此查询,并且获得了正确的金额:

SELECT SUM(amount) AS value 
FROM pagos  
WHERE date between '2018-11-01' AND '2018-11-27' 
&& office = 'Orlando'

但是我需要将第一个与month(curdate())语句一起使用。 问题是,我在做什么错了?

编辑:

解决方案:排除其他年份

SELECT SUM(amount) AS value FROM pagos WHERE MONTH(date) = MONTH(CURDATE()) AND YEAR(date) = YEAR(CURDATE()) && office = 'Orlando'

1 个答案:

答案 0 :(得分:0)

mySQL MONTH函数仅返回1到12月的1到12的范围;如果您的数据太多,我怀疑是因为您的数据集不仅包含2018年的日期。尝试在WHERE子句中包括年份比较以及月份比较。