【发布时间】:2019-05-06 02:20:31
【问题描述】:
我有一张桌子:
id | updated_at
1 | 2018-10-22T21:00:00Z
2 | 2018-10-22T21:02:00Z
我想在最接近的更新时间戳之间找到给定日期的最大增量。例如,如果有 5 行:
id | updated_at
1 | 2018-10-22T21:00:00Z
2 | 2018-10-22T21:02:00Z
3 | 2018-10-22T21:05:00Z
4 | 2018-10-22T21:06:00Z
5 | 2018-10-22T21:16:00Z
最大的增量在 4 到 5 之间(10 分钟)。请注意,在比较时,我只想找到下一个最接近的 updated_at 时间戳,然后给我这个的max。我觉得我搞砸了子查询来做到这一点。
with nearest_time(time_diff)
as
(
select datediff('minute', updated_at as u1, (select updated_at from table where updated_at > u1 limit 1) as u2)
group by updated_at::date
)
select max(select time_diff from nearest_time);
【问题讨论】:
标签: sql postgresql amazon-redshift window-functions