mysql - SQL:如何根据动态日期计算进行查询?

标签 mysql sql

我有一个表 foos,它有一个 last_checked_at 日期时间字段和一个 checking_inverval 整数字段。

我想查询自检查间隔以来尚未检查的所有foos。我尝试过以下几种变体:

SELECT `foos`.* FROM `foos`
  WHERE (`foos.checking_interval` < TIMESTAMPDIFF(SECOND, `foos.last_checked_at`, NOW())

但我还没有取得任何成功。或者也许我完全找错了树,应该有另一列包含计算出的日期时间,并让我的应用程序处理设置该日期。

谢谢

最佳答案

那么,最后一次检查的时间早于现在减去时间间隔吗?

FOOS foos.*
FROM foos
WHERE foos.last_checked_at < date_sub(now(),INTERVAL foos.checking_interval SECOND)

关于mysql - SQL:如何根据动态日期计算进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39465478/

相关文章:

mysql - 无法连接到 'aetos.it.teithe.gr' 上的 MySQL 服务器 (111)

php - 无法使用 PHP 打印 MySQL 查询结果

sql - 如何按在 SQL Server 中输入的顺序排序?

PHP:带有特殊字符的密码

sql - 从默认 getdate() azure sql 中减去 6 小时

sql - 在 Ubuntu 18.04 中完全删除 MariaDB 10.01

java - 如何从数据库中的多个表中获取公共(public)列?

mysql - 如何在mysql中的一个查询中选择和选择计数?

MySQL:选择最后 X 行,然后选择特定行

MYSQL - 如何获取多个表的交叉结果