Имах подобен въпрос:collating-stats-into-time-chunks и отговори много добре. По същество отговорът беше:
Може би можете да използвате функцията DATE_FORMAT() и групирането. Ето един пример, да се надяваме, че можете да се адаптирате към вашите точни нужди.
SELECT
DATE_FORMAT( time, "%H:%i" ),
SUM( bytesIn ),
SUM( bytesOut )
FROM
stats
WHERE
time BETWEEN <start> AND <end>
GROUP BY
DATE_FORMAT( time, "%H:%i" )
Ако вашият времеви прозорец обхваща повече от един ден и използвате примерния формат, данните от различни дни ще бъдат обобщени в сегменти „час на ден“. Ако необработените данни не попадат точно в часа, можете да ги изгладите, като използвате "%H:00."
Благодаря на Мартин Клейтън за отговора, който ми предостави.