मुझे लगता है कि आप अपनी सीमा के अनुरूप होने के लिए केवल घंटों को 5 पर सेट करना चाहते हैं। अगर ऐसा है, तो आप यह कर सकते हैं:
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)
लेकिन, मुझे लगता है कि आप वास्तव में इसे थोड़ा अलग तरीके से वाक्यांश देना चाहेंगे:
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)
यह वास्तव में 5 घंटे की सीमा पर तारीखों को पुन:संरेखित करता है।
नोट:इन प्रश्नों का परीक्षण नहीं किया गया है, इसलिए इसमें सिंटैक्स त्रुटियां हो सकती हैं।
यह माना जा रहा है कि टाइमस्टैम्प वास्तव में एक डेटाटाइम है। अगर यह UNIX टाइमस्टैम्प है, तो आपको पहले इसे कनवर्ट करना होगा।