Jag tror att du bara vill ställa in timmarna till 5, för att överensstämma med ditt intervall. Om så är fallet kan du göra så här:
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)
Men jag tror att du kanske vill formulera det här lite annorlunda:
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)
Detta justerar faktiskt datumen på 5-timmarsgränsen.
Obs:dessa frågor är oprövade, så de kan innehålla syntaxfel.
Detta förutsätter att tidsstämpeln verkligen är en datumtid. Om det är en UNIX-tidsstämpel måste du konvertera den först.