Я работаю над тем, чтобы получить записи за последние 13 месяцев, используя следующий MySQL запрос:
SELECT YEAR(`customer_date`),
MONTHNAME(`customer_date`),
COUNT(`customer_date`) AS Enquiries
FROM `crm_customers`
WHERE DATE(`customer_date`) BETWEEN CURRENT_DATE - INTERVAL 13 month AND
CURRENT_DATE
GROUP BY YEAR(`customer_date`),
MONTH(`customer_date`)
ORDER BY YEAR(`customer_date`) DESC,
MONTH(`customer_date`) DESC
Мой прототип MySQL Таблица crm_customers выглядит так:
customer_id customer_date
1 2019-02-01 00:00:00
2 2019-02-02 00:00:00
... ...
... ...
... ...
Вывод:
![enter image description here](https://i.stack.imgur.com/O0Sox.png)
Хотя приведенный выше запрос работает нормально и дает мне почти правильный набор результатов, за исключением одной проблемы, связанной с последним месяцем последний год с разрывом в 13 месяцев с сегодняшнего дня.
Сегодня 7 марта 2020 г. Условие даты в моем запросе
WHERE DATE(`customer_date`) BETWEEN CURRENT_DATE - INTERVAL 13 month AND CURRENT_DATE
начинает извлекать результат с 7 февраля 2019 г. .
В феврале 2019 года у меня 104 записи. Но мой выше SQL выбирает только 80 записей, потому что 24 записи до 07 февраля 2019 года (между 1 февраля и 6 февраля 2019 года). Я хочу также включить эти записи. Как я могу изменить условие даты для достижения необходимого результата.
РЕДАКТИРОВАТЬ
Почему этот вопрос помечен как отрицательный? Я не понимаю Вопрос очень понятен и не продублирован. За это проголосовал GMB?