我将登录记录保存在一个表中。我有id,ip,date和time列。从登录记录中,我想获取仅在过去一个小时内进行的登录。
我浏览了有关时间和日期函数的MySQL文档,但我似乎就是不能正确地组合它们。
有人能帮帮我吗?
发布于 2010-09-10 07:43:13
使用DATE_SUB()和Now()函数:
select count(*) as cnt
from log
where date >= DATE_SUB(NOW(),INTERVAL 1 HOUR);
希望它能帮助您:)
发布于 2018-06-09 04:13:42
如果想要将其实现到cronjob中,则需要指定开始和结束。
例如,在下午2点,如果您想获取过去一小时从13:00:00到13:59:59的数据,方法如下:
dateField BETWEEN
DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 HOUR), '%Y-%m-%d %H:00:00')
AND
DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 HOUR), '%Y-%m-%d %H:59:59')
发布于 2013-12-22 20:31:02
它可以很容易地完成,使用
select count(*) from logins where datetime>= NOW()- INTERVAL 1 HOUR
https://stackoverflow.com/questions/3681345
复制相似问题