MySQL 选择时间戳列从现在到 10 分钟前的行

标签 mysql sql

我有一个时间戳列,可以在插入/更新时自动更新。

我想获取最近 10 分钟内更新的行。

SELECT
     *
FROM
     status
WHERE
     code='myCode'
AND
     'stamp_updated' 
     BETWEEN
     NOW()
     AND
     DATE_ADD(NOW() , INTERVAL - 10 MINUTE)
ORDER BY 
     stamp_updated DESC
LIMIT 1

最佳答案

使用:

  SELECT *
    FROM status
   WHERE code = 'myCode'
     AND `stamp_updated` BETWEEN DATE_SUB(NOW() , INTERVAL 10 MINUTE)
                           AND NOW()
ORDER BY stamp_updated DESC
   LIMIT 1

BETWEEN 运算符中的顺序很重要 - 你把它倒过来了。

关于MySQL 选择时间戳列从现在到 10 分钟前的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3480947/

相关文章:

MySQL SELECT 记录紧接在范围之前并选择范围

mysql - 使 where 子句中同一个表中的同一列相等

php - 在 PHP 代码中,如何删除换行符

MySql根据另一个表中的MAX值选择一个表中的所有行

MySQL - 将 5.5.27 升级到 5.7 时出现性能问题

sql - SQL 中的替换和分组依据

mysql - Sql 'LEFT JOIN' 两个表,每个表都有 'Where' (不是连接条件)

sql - 我该如何为此编写sql函数?

sql - Rails 4 - 对关联计数的查询大于属性

php - 如何将多个复选框值插入数据库