сгруппируйтесь, рассматривая 4 утра этого дня до 4 утра следующего дня как этот день (мой SQL)

#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. да, и, вероятно, тоже хотите его выбрать