Myslím, že jen chcete nastavit hodiny na 5, abyste byli v souladu s vaším rozsahem. Pokud ano, můžete to udělat takto:
SELECT cast(date(stamp) as datetime) + interval 5 hour
Sum(value)
FROM table
WHERE stamp >= Date_sub('2012-12-02 05:00:00', INTERVAL 1 day)
AND stamp < '2013-01-01 05:00:00'
GROUP BY Date(stamp)
Ale myslím, že byste to možná chtěli formulovat trochu jinak:
SELECT cast(date(stamp - interval 5 hour) as datetime) + interval 5 hour
Sum(value)
FROM table
WHERE stamp >= Date_sub('2012-12-02 05:00:00', INTERVAL 1 day)
AND stamp < '2013-01-01 05:00:00'
GROUP BY Date(stamp - interval 5 hour)
To ve skutečnosti přerovná data na 5hodinovou hranici.
Poznámka:Tyto dotazy nejsou testovány, takže mohou obsahovat chyby syntaxe.
To za předpokladu, že časové razítko je skutečně datum a čas. Pokud se jedná o časové razítko UNIX, musíte jej nejprve převést.