0

我想以这样一种方式查询数据库,即获取在给定时间内出现的所有行。我的数据库表有一个日期列,其中包含这样的数据

2012-04-23 08:39:10
2012-04-23 08:41:37
2012-04-23 13:49:56

我想获取所有包含 5 分钟前时间的行。实际上,我在这里尝试的是显示 5 分钟前在线的所有用户。这些日期和时间是使用它们的最后一个活动创建的。任何帮助将不胜感激。

4

3 回答 3

3

这应该适合你

select * from tablename where ((datecol > subtime(now(),'00:05:00')))
于 2012-04-23T20:14:33.767 回答
1

像下面这样的东西应该可以解决问题:

SELECT * 
FROM <table> 
WHERE 
  <date column> 
    BETWEEN 
    DATE_SUB(NOW(), INTERVAL 5 MINUTE) 
    AND 
    DATE_SUB(NOW(), INTERVAL 6 MINUTE)
;
于 2012-04-23T20:16:05.903 回答
1
SELECT *
FROM `TABLE_NAME`
WHERE `DATECOLUMN` > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 5 MINUTE)
于 2012-04-23T20:19:09.860 回答