У меня есть таблица, которая обновляется каждые 10 секунд с данными. Мне нужно получить среднее значение в течение 10 минут, в течение 24 часов на конкретную дату.MySQL составляет 10 минут в течение 24 часов
Я пробовал делать это и увеличивать время на 10 минут через php.
select AVG(active_energy), date_time from energy_readings where date_time between "2016-11-02 00:00:00" and "2016-11-02 00:00:00"+ INTERVAL 10 MINUTE;
, а затем
select AVG(active_energy), date_time from energy_readings where date_time between "2016-11-02 00:10:00" and "2016-11-02 00:10:00"+ INTERVAL 10 MINUTE;
в течение 24 часов.
Это работает, но на моем сервере базы данных требуется слишком много нагрузки.
Есть ли один запрос mysql, который я могу использовать, который даст мне 10-минутные средние значения в течение 24 часов в течение определенного дня?
«TRUNC» не доступен в MySQL к сожалению. Пробовал использовать дату (минута (date_time)/6). Но это не сработало. – NoMadic
Я думаю, вы можете использовать оператор 'DIV' в этом случае следующим образом:' ... group by date (date_time), hour (date_time), minute (date_time) DIV 6 ... ' @NoMadic – 1000111
@NoMadic. , , К сожалению. Правильной функцией является 'floor()'. –