繁体   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