Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Agregando dados por intervalo de tempo no MySQL


Eu tive uma pergunta semelhante:collling-stats-into-time-chunks e tinha respondido muito bem. Em essência, a resposta foi:

Talvez você possa usar a função DATE_FORMAT() e agrupamento. Aqui está um exemplo, espero que você possa se adaptar às suas necessidades precisas.
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" )

Se sua janela de tempo abranger mais de um dia e você usar o formato de exemplo, os dados de dias diferentes serão agregados em intervalos de 'hora do dia'. Se os dados brutos não caírem exatamente na hora, você pode suavizar usando "%H:00".

Agradeço a Martin Clayton pela resposta que me deu.