我有一个表 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/