我有两个MySQL表。
test_settings
id, interval_in_minutes, other_irrevelant_settings
test_results
id, test_settings_id(Foregin Key), datetime, value
我想运行查询every 1 minute
并运行每个测试的最后结果晚于interval_in_minutes
的测试。
示例数据库数据
test_settings
id interval_in_minutes
1 10
2 40
3 140
etc
因此,如果最近140分钟未插入任何结果(基于测试后插入的id 3
test_result
,则最终查询结果将为datetime
。
SELECT ts.id
FROM test_settings ts
WHERE (SELECT tr.date
FROM test_results tr
WHERE tr.test_settings_id = tr.id
ORDER BY tr.datetime DESC
LIMIT 1) < DATE_SUB(NOW(), INTERVAL XXXXX MINUTES);
仅当间隔类似于XXXXX = 4
时它才有效,但我需要像XXXXX = ts.interval_in_minutes
这样具有动态性。
不知道该怎么做。有什么帮助吗?