在我的SQL查詢中,如何查找過去24小時內的記錄? 我正在使用time()函數插入數據庫。 我使用時間戳的時間存儲在該format.Eg 1332673046在過去24小時內查找帶有時間字段的記錄
回答
select somefield from yourtable where timefield >= subtime(current_timestamp(), '1 00:00:00');
當我在mysql中運行時它不工作,它說'MySQL返回了一個空的結果集(即零行)'。 – 2012-03-31 08:15:49
零行不是錯誤。這意味着,沒有與條件匹配的行。如果所有行都超過24小時,或者表格爲空,則會發生這種情況。 – 2012-03-31 08:19:09
但問題是我有30分鐘前輸入的行? – 2012-03-31 08:22:48
您可以使用BETWEEN
SELECT * FROM users
WHERE created_at BETWEEN '2012-03-31 00:00:00 UTC' AND '2012-03-31 23:59:59 UTC'
我不能肯定,如果你正在尋找同一日曆天之內檢查,或者你在過去的24小時內說,所以這裏就是我通常是兩種情況做:
一)同一日曆天:
CONVERT(VARCHAR(8), myTable.myDate, 112) = CONVERT(VARCHAR(8), GETDATE(), 112)
b)對於日期爲過去24小時(含)
DATEDIFF(hour, myTable.myDate, GETDATE()) <= 24
簡單的日期算術會做內,
SELECT *
FROM `table1`
WHERE `time_col` BETWEEN NOW() AND NOW()- INTERVAL 24 HOURS;
既然你存儲日期爲Unix的時間戳,那麼你需要UNIX_TIMESTAMP這樣
SELECT
// fields you need
FROM `table`
WHERE
`date_field` BETWEEN UNIX_TIMESTAMP(DATE_SUB(NOW() INTERVAL 24 HOUR)) AND UNIX_TIMESTAMP()
你可能要考慮存儲MySQLs日期DATETIME格式因爲它使MySQL中的日期計算更容易。
- 1. 在過去24小時內查找帶有日期字段的記錄
- 2. MySQL:按小時插入記錄,在過去24小時內
- 3. 時間戳字段輸出最近24小時內的記錄
- 4. mysql字段有十六進制時間,需要過去24小時內的所有記錄
- 5. MySQL,Coldfusion,選擇在過去24小時內加時間戳的記錄
- 6. 在過去24小時內選擇記錄和日期
- 7. PHP MYSQL選擇過去24小時內和過去24小時內的數據
- 8. 在過去的幾個小時內查找記錄T-SQL
- 9. 查找在過去一小時內生成的記錄
- 10. 獲取過去24小時內的記錄
- 11. 的Python:在過去24小時內
- 12. 過去24小時
- 13. 過去24小時內導軌列表創建/更新記錄
- 14. 腳本:查找過去24小時內的文件已更改
- 15. 查詢從過去24小時內創建的數據庫中選擇記錄
- 16. 使用python查找超過24小時的記錄
- 17. 在過去的24小時查找(Find)mysql的變化
- 18. SQL查詢查找在過去一小時內創建的記錄(使用時代日期時間格式)
- 19. JFreeChart - TimeSeries過去24小時
- 20. Postgresql查詢在過去24小時內查找排名最高的表格
- 21. 查找一段24小時(未尤其是最後24小時)
- 22. 通過過去24小時的時間戳過濾結果
- 23. 在24小時內查找最大值
- 24. 獲取過去7天,過去24小時內的MySQL
- 25. SQL查詢查找在過去30天內沒有記錄但在過去90天內有記錄的用戶
- 26. SELECT在過去24小時內最多查看
- 27. SQL查詢 - 如何在過去24小時內顯示點數?
- 28. 在過去24小時的訂單數
- 29. 抓取iCloudKit記錄超過24小時
- 30. 查找過去12小時的oracle記錄
可能重複的[MySQL:記錄插入小時,過去24小時](http://stackoverflow.com/questions/2783740/mysql-records-inserted-by-hour-for-the-last-24 -hours) – bernie 2012-03-31 08:02:58
記錄是否包含任何時間戳記/日期時間列? – 2012-03-31 08:04:07
@Shiplu是的,我正在使用時間戳。 – 2012-03-31 08:09:50