Rsa97, Возможно неправильно объяснил, 7200 это лишь для примера, т.е. группировать нужно будет и по часам и по 2 часа и по дням и т.д. В соответствии с WHERE.
Т.е. если группировать по 3 дня, то значения будут не четными, а если по 2 дня, то четными.
Уже какой день бьюсь над этой задачей, все никак не могу найти логический конец
А нужно чтобы время соответствовала начальному WHERE time (1662152400) и кратные 2 часам(7200).
Т.е. должно быть:
03.09.2022, 08:00:00 - 5
03.09.2022, 16:00:00 - 1
Вместо 7200 может быть разные интервалы, например 3600(1 час) или 86400(1 день) и т.п.
Rsa97, в данный момент часовой пояс не так сильно волнует, как группировка по часам или по дням.
Я пробовал конвертировать unix time в date и использовать hour(), но он также группирует примерно также как и мой код в начале вопроса, т.е. без 0
Rsa97, В любом случае, я бы не хотел усложнить запрос, если это возможно.
Сейчас я обрабатываю и заполняю пустые значения с помощью PHP, но проблемка в том, что запрос группирует по времени ближайшего count.
Т.е. если вместо 3600 поставить 7200(интервал 2 часа), то в ответ возвращаются значения не кратные 2. Т.е. не 00:00, 02:00, а например 01:00, 09:00
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RECURSIVE `cte` (`from`, `to`) AS ( SELECT CAST('00:00' AS TIME), CAST('01:00' at line 1