例如,給出1339372800,這是星期一,2012年6月11日00:00:00 GMT,我想獲得下一X小時,包括1339372800.所以,在接下來的3個小時,其結果必然是如何在mysql的特定小時後獲得X小時?
+------------+ | hours | +------------+ | 1339372800 | | 1339376400 | | 1339380000 | +------------+
我想我需要創建一個循環,但我不知道如何從中繼續。謝謝。
例如,給出1339372800,這是星期一,2012年6月11日00:00:00 GMT,我想獲得下一X小時,包括1339372800.所以,在接下來的3個小時,其結果必然是如何在mysql的特定小時後獲得X小時?
+------------+ | hours | +------------+ | 1339372800 | | 1339376400 | | 1339380000 | +------------+
我想我需要創建一個循環,但我不知道如何從中繼續。謝謝。
你可以使用一個數字表爲Creating a "Numbers Table" in mysql包含所有小時的時間體貼量和查詢的是:
SELECT hour
FROM hours
WHERE hour >= 1339372800
ORDER BY hour ASC
LIMIT 3
這使得查詢非常容易,而且該表不宜過大,無論是。 (小於90K行了10年。)
嗯,那可以工作。但我想我正在尋找更優雅的解決方案(沒有冒犯)。如果我找不到任何其他的作品,我會和你一起去的。 – luis
嘗試:
SELECT *
FROM table
WHERE
hours between 1339372800 and DATE_SUB(1339372800, INTERVAL 3 HOUR)
爲什麼在MySQL這樣做呢?在應用程序代碼中通常要容易得多... – eggyal
因爲我需要將它與一個可以獲得每小時行數的視圖進行連接。如果該特定小時內沒有條目,我希望該條目爲0. – luis
但是,爲什麼不在結果集中存在一小時時在應用程序中繪製該推理呢? – eggyal