从时间戳在x秒内的表中选择

时间:2014-03-20 03:23:02

标签: php mysql sql time timestamp

我在某种mysql逻辑上乱七八糟。我想从表中选择行时间戳在当前时间的最后15秒内的行。

更多细节:时间戳字段是使用php time()函数生成的,我试着选择时间戳是15秒还是更小,与当前时间戳相比

我尝试过:

SELECT * FROM notifs WHERE `foo` = 'bar' AND `timestamp` > TIME(DATE_SUB(NOW(), INTERVAL 15 SECOND))");

SELECT * FROM notifs WHERE `foo` = 'bar' AND `timestamp` < unix_timestamp(NOW() - INTERVAL 15 SECOND)

他们都返回误报。他们给我的行我知道比15秒前更早。 请问我能错过什么?

1 个答案:

答案 0 :(得分:0)

以这种方式试试

SELECT *
  FROM notifs
 WHERE foo = 'bar'
   AND timestamp BETWEEN UNIX_TIMESTAMP(NOW() - INTERVAL 15 SECOND) 
                     AND UNIX_TIMESTAMP(NOW())