【发布时间】:2018-10-31 16:06:23
【问题描述】:
如果我写:
SELECT *
FROM table
WHERE date >= NOW - INTERVAL '5 MINTUE';
我将获取最后 5 分钟的所有数据,但第一分钟和最后一分钟不会是完整的分钟,它们可能是部分分钟。这意味着如果“NOW()”是 4:30:24,那么 NOW() - INTERVAL '5 MINUTE' 将让我从 4:25:24 到 4:30:24。第 25 分钟是不完整的,仅包含 36 秒,与第 30 分钟相同,仅包含 24 秒。
我将如何获得最后完整的 5 分钟?我考虑删除第一分钟和最后一分钟或最小/最大,但是当我考虑分钟 [58, 59, 60, 01, 02] 时,这个想法变成了一个挑战。在这种情况下,min/max 不考虑在 60 分钟后返回 0 的循环。
任何想法都会有所帮助。
【问题讨论】:
标签: sql postgresql