Mysql 如何使用join进行可变间隔条件查询

Mysql 如何使用join进行可变间隔条件查询,mysql,subquery,intervals,Mysql,Subquery,Intervals,我有两个MySQL表 test_settings id, interval_in_minutes, other_irrevelant_settings test_results id, test_settings_id(Foregin Key), datetime, value 我希望每1分钟运行一次查询,并为每个单独的测试运行最后结果晚于间隔时间的测试 示例数据库数据 test_settings id interval_in_minutes 1 10 2 40 3 140 etc 所

我有两个MySQL表

test_settings 
id, interval_in_minutes, other_irrevelant_settings

test_results
id, test_settings_id(Foregin Key), datetime, value
我希望每1分钟运行一次查询,并为每个单独的测试运行最后结果晚于间隔时间的测试

示例数据库数据

test_settings
id interval_in_minutes
1 10 
2 40
3 140
etc
所以,基于测试后插入的测试结果datetime,若在过去140分钟内并没有插入结果,则查询的最终结果将是id 3

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\u那样动态,以分钟为单位


不知道怎么做。。有什么帮助吗?

只需声明变量并使用它,请查看此@nomysz@D-johnashani感谢您的回复,我尝试了几种组合,但每次sql语法错误都出现在间隔附近,如INTERVAL@interv MINUTES。您能建议在查询中使用吗?当您当时使用存储过程时,其更可用的sp就像一个函数一样工作,您可以在参数中传递值,然后将其动态用作@nomyszOk。我发现更简单的方法是在代码中实现条件,性能可能稍差。