sql - 在 SQL 中计算当前行和下一个可用日期值之间的差异
问题描述
我得到了当前问题重置和下一个停止时间之间的差异Postgres SQL
。我无法理解,如何使用窗口函数完成此操作。我试过NEXT_VALUE
and FIRST_VALUE
,但我看到了移动聚合的例子。我需要一个查询来得到这个。
我需要实现两者之间的差异'22/08/2020 11:29:00'
,'17/08/2020 11:19:00'
这告诉我运行时间的持续时间。
解决方案
看起来你想要 eachstoptime
和 latest prior之间的区别issue
。如果问题和停止时间正确交错,正如您在评论中解释的那样,那么您可以使用如下窗口函数:
select t.*, stop_time - max_issue as diff
from (
select t.*, max(issue) over(order by issue) max_issue
from mytable t
) t
where stop_time is not null
推荐阅读
- php - 左连接与多个 on 子句 Eloquent Laravel
- xamarin.forms - 我可以在编辑文本后刷新吗
- javascript - 初学者问题:想知道为什么需要重复该功能?
- javascript - 检测字符串中的 Unicode 并将其转换为字符串字符?
- javascript - Math.random() 可靠吗?
- javascript - React Mobx 无法显示可观察的内容,非常简单的应用程序
- opengl - 如何在Opengl中获得所有三角形对角线以相同方式倾斜的四边形镶嵌?
- python - 理解 Python 异常处理中的控制流
- javascript - 在 React 中登录或注销后菜单栏不刷新
- c++ - 查找 2 的最大幂的二进制字符串问题