У меня есть расширенная БД, но она выглядит следующим образом:
|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|
...
Я использую этот запрос для получения суммы СУММ за фактический месяц в указанном офисе:
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'