我一直在閱讀其他問題,並沒有運氣。我有一張表格(郵票,價值)。 '郵票'欄存儲每小時的時間戳。我正在試圖做的是檢索SUM(值)取決於範圍在查詢中指定的時間戳的24小時間隔:GROUP BY間隔重疊時間戳MySQL查詢
SELECT stamp,
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)
我要找的是這樣的結果:
stamp value
2012-12-02 05:00:00 12024
2012-12-03 05:00:00 11211
2012-12-04 05:00:00 19834
...
2013-01-01 05:00:00 10232
實際的表是這樣的:
stamp value
2012-12-01 01:00:00 345
2012-12-01 02:00:00 100
2012-12-01 03:00:00 104
2012-12-01 04:00:00 103
2012-12-01 05:00:00 101
2012-12-01 06:00:00 102
...
2013-01-01 05:00:00 207
2013-01-01 06:00:00 307
2013-01-01 07:00:00 223
...
* 注意,郵票列的數據類型是時間戳
那麼'郵票'返回每個日期組最早的時間戳之上? –
請不要選擇不在您的「GROUP BY」中的列。 MySQL擴展了這個功能,但它的行爲並不準確,應該避免。 – Kermit
儘可能使用'x BETWEEN y AND z'來代替'x> = y AND x <= z'。 – tadman