sql >> Databáze >  >> RDS >> Mysql

Agregace dat podle časového rozpětí v MySQL

Měl jsem podobnou otázku:collating-stats-into-time-chunks a velmi dobře odpověděl. V podstatě odpověď zněla:

Možná můžete použít funkci DATE_FORMAT() a seskupování. Zde je příklad, doufejme, že se dokážete přizpůsobit svým přesným potřebám.

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" )

Pokud vaše časové okno pokrývá více než jeden den a použijete vzorový formát, budou data z různých dnů agregována do segmentů „hodiny dne“. Pokud nezpracovaná data nespadají přesně na hodinu, můžete to vyrovnat pomocí "%H:00."

Děkuji Martinu claytonovi za odpověď, kterou mi poskytl.



  1. Jak optimalizovat logickou replikaci PostgreSQL

  2. Požadavek nastaven v Concurrent Manager

  3. Jak zpracovat datum 0000-00-00 v dotazu jdbc MySQL

  4. MySQL chybný výstup s klauzulí IN a parametrem