我有一個表,其中包含發生在我的應用程序中的事件,如登錄人員和更改設置的人員。按時間限制SQL結果,MySQL
它們對按以下格式事件的日期/時間:
2010-01-29 10:27:29
是否可以使用SQL來選擇只在最後5分鐘發生的事件?
所以如果日期/時間是2010-01-29 10:27:29它只會選擇發生在10:27:29和10:22:29之間的事件嗎?
乾杯
EEF
我有一個表,其中包含發生在我的應用程序中的事件,如登錄人員和更改設置的人員。按時間限制SQL結果,MySQL
它們對按以下格式事件的日期/時間:
2010-01-29 10:27:29
是否可以使用SQL來選擇只在最後5分鐘發生的事件?
所以如果日期/時間是2010-01-29 10:27:29它只會選擇發生在10:27:29和10:22:29之間的事件嗎?
乾杯
EEF
SELECT富FROM酒吧,在那裏EVENT_TIME> DATE_SUB(NOW(),間隔5分鐘)
(不知道這是否分鐘或分鐘)
你應該提供表和列名,使我們很容易回答你的問題。
你可以寫SQL作爲
SELECT *
FROM Table
WHERE DateTimeColumnName <= '2010/01/29 10:27:29'
AND DateTimeColumnName >= '2010/01/29 10:22:29'
,或者您可以使用BETWEEN
SELECT *
FROM Table
WHERE DateTimeColumnName BETWEEN '2010/01/29 10:22:29' AND '2010/01/29 10:27:29'
現在,看是否有在MySQL的日期時間函數做一個日期數學所以只需通過一個單一的日期戳,並做數學從它減去5分鐘,並將其用作between子句中的第二個參數。
WHERE my_timestamp < DATE_SUB(now(), INTERVAL 5 MINUTE)
這是'MINUTE'並且可以縮短,也:'SELECT foo FROM bar WHERE event_time>(NOW() - INTERVAL 5 MINUTE)' – 2010-02-01 13:47:56
感謝您的補充和澄清。無論如何,也許這是我的C背景,但我更喜歡DATE_SUB,因爲我發現它更易於閱讀,特別是在更復雜的查詢中。 – dbemerlin 2010-02-01 14:27:55
乾杯!完美運作 – RailsSon 2010-02-02 12:25:21