我有一个mysql表,其中插入一个名为'timecreated'的列,其值为NOW()。
如何编写MYSQL语句以获取从过去一分钟开始插入的行?
这不起作用:
SELECT *
来自mytable
在哪里timecreated
> '(现在() - 60)'
ORDER BY id DESC
限制0,30
答案 0 :(得分:4)
使用DATE_SUB():
SELECT * FROM mytable
WHERE timecreated > DATE_SUB(NOW(), INTERVAL 1 MINUTE)
ORDER BY id DESC LIMIT 0 , 30
或者你可以像表达式一样:
SELECT * FROM mytable
WHERE timecreated > NOW() - INTERVAL 60 SECOND
ORDER BY id DESC LIMIT 0 , 30
答案 1 :(得分:1)
你可以:
SELECT * from mytable where timecreated > SUBTIME(NOW() , '01:00:00')
获取时间创建的所有行>现在 - 1小时
或者你可以
SELECT * from mytable where timecreated > '2009-10-03 08:39:00')
如果您想要从特定时间开始。