小编sec*_*ave的帖子

根据当前行和下一行之间的时间差进行过滤

我有一个具有以下结构的数据库表:

id     | created
-------+---------------
1      | 2018-07-23 00:01:00
2      | 2018-07-23 00:02:00
...
Run Code Online (Sandbox Code Playgroud)

现在我想返回与下一行的时间差大于 10 秒的所有行。

我尝试过使用 Postgres 窗口函数,但无法让它工作,例如

SELECT
  created, 
  created - lag(created, 1) OVER (ORDER BY created) delta
FROM tablename
where created - lag(created, 1)  OVER (ORDER BY created) > interval '10 seconds'
ORDER BY created;
Run Code Online (Sandbox Code Playgroud)

我得到的错误是我不允许在WHERE子句中使用窗口函数。如何做到这一点?

postgresql window-functions

4
推荐指数
1
解决办法
3272
查看次数

标签 统计

postgresql ×1

window-functions ×1