Пишу мониторинг игровых серверов. Каждую минуту получаю информацию о серверах. Интересует выдача информации пользователю. Необходимо строить графики за месяц, за сутки и за час. Как лучше всё это проделать?
Сейчас для суток и часа выбираю так:
SELECT * FROM `tbl` WHERE `date` > NOW() - INTERVAL 1 DAY GROUP BY DATE_FORMAT(`date`,'%y%j%H');
SELECT * FROM `tbl` WHERE `date` > NOW() - INTERVAL 1 HOUR GROUP BY DATE_FORMAT(`date`,'%y%j%H%i');
этот вариант подсмотрел тут ->
MySQL Select каждой n-ой строки
Для месяца такой вариант не подходит, так как берутся значения в 00:00, а это не совсем хорошо для статистики игрового сервера. В голове прокручиваю идею, чтобы брать средние значения за сутки и показывать пользователю их, но как это правильнее реализовать, не знаю, так как думаю, что выбирать в лоб все значения за месяц и считать среднее будет довольно напряжно.