簡體   English   中英

選擇最近2分鍾內的所有記錄-MySql

[英]Select all records in the last 2 minutes - MySql

這是我的mysql表

-----   -----------   -------------------
b_id    update_time   update_time_text
-----   -----------   -------------------
A:340   1436507350    10-07-2015 11:19:10
A:340   1436507707    10-07-2015 11:25:07
A:340   1436509704    10-07-2015 11:58:24
A:340   1436507828    10-07-2015 11:27:08

這是我的查詢

SELECT * FROM table WHERE b_id='A:340' AND update_time < (NOW() - 120) // 120 is 2 minutes

由於查詢返回空記錄,我如何選擇最近2分鍾中的記錄,並且我不確定我是否需要花費unix時間(update_time)或可讀時間(update_time_text)

您可以使用date_subinterval 2 minute

SELECT * FROM table WHERE b_id='A:340' AND update_time < date_sub(NOW() - interval 2 minute) // 120 is 2 minutes

因為update_time是unix時間戳字段,然后用UNIX_TIMESTAMP()替換NOW() UNIX_TIMESTAMP()

SELECT * FROM table WHERE b_id='A:340' AND update_time >= (UNIX_TIMESTAMP() - 120)

超過2分鍾的記錄:

SELECT * FROM table WHERE b_id='A:340' AND update_time < (UNIX_TIMESTAMP() - 120)

試試這個查詢

SELECT * FROM table WHERE b_id='A:340' AND TIME_TO_SEC(update,NOW())<=120

如果您想進一步了解時差,請參考此鏈接

MySQL:如何以秒為單位獲取兩個時間戳之間的差異

您可以嘗試以下方法:

SELECT * FROM table WHERE b_id='A:340' AND update_time BETWEEN DATE_SUB(NOW(), INTERVAL 2 MINUTE) AND NOW()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM