我想从最近5分钟获得记录。我目前正在使用此代码,我从这个网站获得:
select * from table where timestamp between curtime() and timestamp(date_sub(now(), interval 5 minute))
但它对我不起作用,它以5分钟的间隔返回我的所有记录。例如,我将在2014-07-30 15:40:02收到几条时间戳的记录,然后我会得到5分钟的差距并获得几条记录,时间戳为2014-07-30 15:45 :02
答案 0 :(得分:0)
这是你的where子句:
where timestamp between curtime() and timestamp(date_sub(now(), interval 5 minute))
在这种情况下,第一个边界大于 ,因为您要从当前时间减去5分钟。这实际上不应该匹配任何东西,因为:
where x between y and y - 5
应始终返回空集。界限是有序的。也许交换它们会有所帮助:
where timestamp between timestamp(date_sub(now(), interval 5 minute)) and curtime()
但是,如果您没有未来的时间戳,请执行以下操作:
where timestamp >= timestamp(date_sub(now(), interval 5 minute))
答案 1 :(得分:0)
select * from table where timestamp >= timestamp(date_sub(now(), interval 5 minute))
答案 2 :(得分:0)
尝试使用:
read=("""select * from table where timestamp >= timestamp(date_sub(now(), interval 5 minute))""")
答案 3 :(得分:0)
select * from table where timestamp between curtime() and DateADD(minute, -5, curtime());