我想以这样的方式查询数据库,其中获取在给定时间内出现的所有行。 我的数据库表有一个Date列,它包含这样的数据
2012-04-23 08:39:10
2012-04-23 08:41:37
2012-04-23 13:49:56
我希望获得包含时间的所有行,例如5分钟之前。实际上我在这里尝试的是显示所有在线前5分钟在线的用户。这些日期和时间是使用上次活动创建的。 任何帮助将非常感谢。
答案 0 :(得分:3)
这应该对你有用
select * from tablename where ((datecol > subtime(now(),'00:05:00')))
答案 1 :(得分:1)
以下内容应该可以解决问题:
SELECT *
FROM <table>
WHERE
<date column>
BETWEEN
DATE_SUB(NOW(), INTERVAL 5 MINUTE)
AND
DATE_SUB(NOW(), INTERVAL 6 MINUTE)
;
答案 2 :(得分:1)
SELECT *
FROM `TABLE_NAME`
WHERE `DATECOLUMN` > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 5 MINUTE)