select max(s)
from (select sum(players) as s
from server_stats
group by truncate(unix_timestamp(dt_mark)/300,0)) dt
Har ett par servrar som rapporterar in lite statistik till en databas var femte minut.
Hur kan jag få fram det totala maxvärdet per dag grupperat på de fem minuterna?
Med denna får jag ju fram maxvärdet per dag oavsett när på dygnet maxvärdet per server är
SELECT date(dt_mark), max(players) FROM server_stats
GROUP BY date(dt_mark)
ORDER BY dt_mark
Exempel på hur tabellen kan se ut:
server players dt_mark
-----------------------------------------
Server 1 23 2006-03-29 13:14:13
Server 2 55 2006-03-29 13:15:14
Server 3 10 2006-03-29 13:17:11
Server 1 73 2006-03-29 13:24:13
Server 2 5 2006-03-29 13:25:14
Server 3 3 2006-03-29 13:27:11
I detta fallet vill jag ha fram resultatet 88 (13:14-13:17) då det samlade värdet är högre än tiden 13:24-13:27 (81 st)
Edit: Kan tillägga att det är MySQL 4.1 som används