#mysql
Вопрос:
База данных, которую я запрашиваю, содержит данные за 90 дней . Я хочу получить результат, в котором день начинается с 6/22/2021, например, в 4 часа утра (7/1/2021) и заканчивается в 4 часа утра (7/2/2021)-это следует рассматривать как 7/1/2021, 4 часа утра (7/2/2021) до (4 часа утра 7/3/2021) как 7/2/2021
По сути, я хочу сгруппировать 4 часа утра этого дня на 4 часа утра следующего дня, чтобы я мог получить данные за 90 дней за 1 раз. Я использовал приведение(dateadd(час,-4)…. но это не сработало, так как есть перекрытие с 12 до 4 утра
Комментарии:
1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.
Ответ №1:
Вычтите 4 часа из этого времени, а затем сгруппируйте по дате.
SELECT DATE(DATE_SUB(timestamp, INTERVAL 4 HOURS)) AS date, ...
...
GROUP BY date
Комментарии:
1. да, и, вероятно, тоже хотите его выбрать