Сумма суммы, месяц до даты в php / mysql - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть расширенная БД, но она выглядит следующим образом:

|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'

1 Ответ

0 голосов
/ 27 ноября 2018

Функция mySQL MONTH возвращает только диапазон от 1 до 12 с января по декабрь;если вы получаете слишком много, я подозреваю, что это потому, что ваш набор данных включает в себя не только даты 2018 года.Попробуйте включить сравнение года в предложение WHERE, а также сравнение месяцев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...