Jag hade en liknande fråga:collating-stats-into-time-chunks och fick det väldigt bra besvarat. I huvudsak var svaret:
Du kanske kan använda funktionen DATE_FORMAT() och gruppering. Här är ett exempel, förhoppningsvis kan du anpassa dig efter dina exakta behov.
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" )
Om ditt tidsfönster omfattar mer än en dag och du använder exempelformatet, kommer data från olika dagar att samlas i "timme-på-dagen"-segment. Om rådata inte faller exakt på timmen kan du jämna ut det genom att använda "%H:00."
Tack vare Martin Clayton för svaret han gav mig.