我想NOW()从另一个表中减去分钟和“多少分钟”的值:
SELECT * FROM A, B
WHERE
A.entity_type_id = B.entity_type_id
AND A.status = 'PENDING'
AND A.request_time < (NOW() - INTERVAL B.retry_interval MINUTE)
AND A.retry_count >= B.retry_allowed_count
Run Code Online (Sandbox Code Playgroud)
这里的问题是B.retry_interval从另一个表中获取的,而通常这样的查询是A.request_time < (NOW() - INTERVAL '10 MINUTE')
我如何实现这一目标?
将间隔乘以 interval '1 minute'
SELECT *
FROM A, B
WHERE
A.entity_type_id = B.entity_type_id
AND A.status = 'PENDING'
AND A.request_time < NOW() - B.retry_interval * INTERVAL '1 minute'
AND A.retry_count >= B.retry_allowed_count
Run Code Online (Sandbox Code Playgroud)