【发布时间】:2020-07-07 08:21:38
【问题描述】:
我有一个表来存储我所有已执行的作业。知道我想知道是否所有作业都正确执行(每分钟)。每个条目都有一个created_at 时间戳。
我现在的问题是如何选择在最后一个条目后 1 分钟未执行的所有条目。我觉得这是一个非常复杂的查询。到目前为止,我的所有条目都按created_at 排序。
SELECT *
FROM jobs
WHERE created_at IS NOT NULL
ORDER By created_at
created_at 是一个时间戳。类似2020-02-02 10:00:00。
表结构:
id job_name created_at
-----------------------------------
1 ABC 2020-02-02 10:00:00
2 ABC 2020-02-02 10:01:00
3 ABC 2020-02-02 10:02:00
4 ABC 2020-02-02 10:04:00
5 ABC 2020-02-02 10:07:00
我想要的结果是:
现在我想获取所有未执行工作的日期。所以,10:03:00、10:05:00 和 10:06:00 的作业没有被执行!
你们有什么想法吗?我猜它是一个递归查询。此查询需要用 postgres 编写。
【问题讨论】:
-
至少我们需要表结构、样本数据和预期输出
-
@GabrielDurac 补充说,抱歉。我认为它很清楚,因为它并不多
-
如果第三次是10:02:01呢?时间是 10:02:01
标签: sql postgresql recursion timestamp