Привет! Написал запрос для подсчета количества зарегистрированных пользователей за все месяцы в году.
SELECT MONTH(c1.created_on) AS MONTH,
(SELECT COUNT(c2.id)
FROM register AS c2
WHERE c2.created_on <= (DATE_FORMAT(DATE_ADD(c1.created_on,
INTERVAL 1 MONTH),'%Y-%m-01')))
AS registeruser
FROM (SELECT 3 AS mon UNION
SELECT 4 AS mon UNION
SELECT 5 AS mon
) AS m LEFT JOIN
register AS c1
ON MONTH(c1.created_on) = m.mon
GROUP BY MONTH(c1.created_on)
Итак, тип данных столбца созданного_дона - DateTime, а значение по умолчанию, которое я установил, - CURRENT_TIMESTAMP, поэтому, когда я регистрирую пользователя текущий месяц - апрель, и я добавляю 4 значения, после чего я изменяю месяц 1 пользователя на марш и выполняю запрос, который дает мне счет за месяц апрель как 4 и марш за 1. Здесь я сталкиваюсь с проблемой за апрель, но она дает мне 4, которое должно быть 3
![enter image description here](https://i.stack.imgur.com/wlDG8.png)
Здесь на рисунке я изменил данные , но, посмотрев на него, вы поймете, что в апреле число, которое он показывает как 4, происходит только тогда, когда я меняю метку времени после добавленной записи