使用PostgreSQL计算行和条件组之间的时间差

问题描述

我的数据如下所示:

+-------+-------+
| index | time  |
+-------+-------+
|     1 | 09.00 |
|     2 | 09.02 |
|     3 | 09.03 |
|     4 | 09.05 |
|     5 | 09.11 |
|     6 | 09.12 |
|     7 | 09.15 |
|     8 | 09.22 |
|     9 | 09.33 |
+-------+-------+

如果行之间的时间差为

+-------+-------+
| index | time  |
+-------+-------+
|     1 | 09.00 |
|     1 | 09.02 |
|     1 | 09.03 |
|     1 | 09.05 |
|     2 | 09.11 |
|     2 | 09.12 |
|     2 | 09.15 |
|     3 | 09.22 |
|     4 | 09.33 |
+-------+-------+

我正在尝试类似以下的内容

    select index,(lag_time - time) from (
    select 
        index,time,LAG(time,1) OVER (
            ORDER BY time
        ) lag_time) A

解决方法

您只需要一个累加的总和:

Application Gateway

Here是db 小提琴。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...