Mysql检索最近4分钟内插入的行

时间:2012-07-02 10:51:24

标签: php mysql

我希望能够检索在最后4分钟内插入到mysql表中的行。有一个名为'的时候我有一个mysql datetime字段可能会有所帮助。然后我插入了现在' NOW()'的插入点的mysql时间。例如

$query = "INSERT INTO user_actions SET user='" . $user_id . "'" .
             ", action='" . $server_action . "'" .
             ", `when`=NOW()";

是否有一种优雅的方式来SELECT * FROM user_actions WHERE ...(行的年龄小于4分钟,动作='某些值')随时可以忽略'何时& #39;如果不需要的话。

此致 斯图尔特

3 个答案:

答案 0 :(得分:3)

SELECT * FROM user_actions 
WHERE `when` >= addtime(now(), '-00:04:00')

SELECT * FROM user_actions 
WHERE `when` >= now() - interval 4 minute

答案 1 :(得分:2)

您可以使用DATE_ADD,请参阅here for documentation

示例:

SELECT * FROM `user_actions` WHERE `when` >= DATE_ADD( NOW(), INTERVAL -4 MINUTE )

答案 2 :(得分:0)

SELECT * FROM user_actions 
WHERE `when` >= DATE_ADD(now(), INTERVAL -4 MINUTE)
and `action` ='someAction'