【发布时间】:2018-09-24 23:43:32
【问题描述】:
我有一个名为NEW_YORK_TEMPERATURES 的表,例如:
注意:添加间距以显示不同的位置和日期
datetime, location, min_temp, max_temp
2018-01-01 12:00:00, seneca, 76.1, 76.5
2018-01-01 12:10:00, seneca, 76.1, 76.5
2018-01-01 12:20:00, seneca, 76.2, 76.6
2018-01-01 12:30:00, seneca, 76.1, 76.6
2018-01-01 12:40:00, seneca, 76.1, 76.5
2018-01-02 12:00:00, seneca, 76.6, 77.3
2018-01-02 12:10:00, seneca, 76.6, 77.3
2018-01-02 12:20:00, seneca, 76.6, 77.3
2018-01-02 12:30:00, seneca, 76.6, 77.3
2018-01-02 12:40:00, seneca, 76.6, 77.3
2018-01-01 12:00:00, conesus, 66.1, 66.5
2018-01-01 12:10:00, conesus, 66.1, 66.5
2018-01-01 12:20:00, conesus, 66.2, 66.6
2018-01-01 12:30:00, conesus, 66.1, 66.6
2018-01-01 12:40:00, conesus, 66.1, 66.5
2018-01-02 12:00:00, conesus, 66.4, 66.7
2018-01-02 12:10:00, conesus, 66.4, 66.8
2018-01-02 12:20:00, conesus, 66.4, 66.9
2018-01-02 12:30:00, conesus, 66.4, 66.9
2018-01-02 12:40:00, conesus, 66.4, 66.9
2018-01-01 12:00:00, ontario, 63.1, 63.5
2018-01-01 12:10:00, ontario, 63.1, 63.5
2018-01-01 12:20:00, ontario, 63.2, 63.6
2018-01-01 12:30:00, ontario, 63.1, 63.6
2018-01-01 12:40:00, ontario, 63.1, 63.5
2018-01-02 12:00:00, ontario, 63.3, 63.8
2018-01-02 12:10:00, ontario, 63.3, 63.8
2018-01-02 12:20:00, ontario, 63.3, 63.8
2018-01-02 12:30:00, ontario, 63.3, 63.7
2018-01-02 12:40:00, ontario, 63.3, 63.7
我需要一种方法来获取两个连续时间戳之间范围变化的差异。 第一步是通过执行以下操作创建展开列:
select
datetime,
location,
min_temp,
max_temp,
max_temp - min_temp as range
from NEW_YORK_TEMPERATURES
order by datetime
获取如下表格:
datetime, location, min_temp, max_temp, range
2018-01-01 12:00:00, seneca, 76.1, 76.5, 0.4
2018-01-01 12:10:00, seneca, 76.1, 76.5, 0.4
2018-01-01 12:20:00, seneca, 76.2, 76.6, 0.4
2018-01-01 12:30:00, seneca, 76.1, 76.6, 0.5
2018-01-01 12:40:00, seneca, 76.1, 76.5, 0.4
2018-01-02 12:00:00, seneca, 76.6, 77.3, 0.7
2018-01-02 12:10:00, seneca, 76.6, 77.3, 0.7
2018-01-02 12:20:00, seneca, 76.6, 77.3, 0.7
2018-01-02 12:30:00, seneca, 76.6, 77.3, 0.7
2018-01-02 12:40:00, seneca, 76.6, 77.3, 0.7
2018-01-01 12:00:00, conesus, 66.1, 66.5, 0.4
2018-01-01 12:10:00, conesus, 66.1, 66.5, 0.4
2018-01-01 12:20:00, conesus, 66.2, 66.6, 0.4
2018-01-01 12:30:00, conesus, 66.1, 66.6, 0.5
2018-01-01 12:40:00, conesus, 66.1, 66.5, 0.4
2018-01-02 12:00:00, conesus, 66.4, 66.7, 0.3
2018-01-02 12:10:00, conesus, 66.4, 66.8, 0.4
2018-01-02 12:20:00, conesus, 66.4, 66.9, 0.5
2018-01-02 12:30:00, conesus, 66.4, 66.9, 0.5
2018-01-02 12:40:00, conesus, 66.4, 66.9, 0.5
2018-01-01 12:00:00, ontario, 63.1, 63.5, 0.4
2018-01-01 12:10:00, ontario, 63.1, 63.5, 0.4
2018-01-01 12:20:00, ontario, 63.2, 63.6, 0.4
2018-01-01 12:30:00, ontario, 63.1, 63.6, 0.5
2018-01-01 12:40:00, ontario, 63.1, 63.5, 0.4
2018-01-02 12:00:00, ontario, 63.3, 63.8, 0.5
2018-01-02 12:10:00, ontario, 63.3, 63.8, 0.5
2018-01-02 12:20:00, ontario, 63.3, 63.8, 0.5
2018-01-02 12:30:00, ontario, 63.3, 63.7, 0.4
2018-01-02 12:40:00, ontario, 63.3, 63.7, 0.4
但是我怎样才能在同一位置获得相邻条之间范围的变化,以便我的结果看起来像:
datetime, location, min_temp, max_temp, range, change_in_range
2018-01-01 12:00:00, seneca, 76.1, 76.5, 0.4 nan
2018-01-01 12:10:00, seneca, 76.1, 76.5, 0.4 0.0
2018-01-01 12:20:00, seneca, 76.2, 76.6, 0.4 0.0
2018-01-01 12:30:00, seneca, 76.1, 76.6, 0.5 0.1
2018-01-01 12:40:00, seneca, 76.1, 76.5, 0.4 -0.1
2018-01-02 12:00:00, seneca, 76.6, 77.3, 0.7 0.0
2018-01-02 12:10:00, seneca, 76.6, 77.3, 0.7 0.0
2018-01-02 12:20:00, seneca, 76.6, 77.3, 0.7 0.0
2018-01-02 12:30:00, seneca, 76.6, 77.3, 0.7 0.0
2018-01-02 12:40:00, seneca, 76.6, 77.3, 0.7 0.0
2018-01-01 12:00:00, conesus, 66.1, 66.5, 0.4 nan
2018-01-01 12:10:00, conesus, 66.1, 66.5, 0.4 0.0
2018-01-01 12:20:00, conesus, 66.2, 66.6, 0.4 0.0
2018-01-01 12:30:00, conesus, 66.1, 66.6, 0.5 0.1
2018-01-01 12:40:00, conesus, 66.1, 66.5, 0.4 0.0
2018-01-02 12:00:00, conesus, 66.4, 66.7, 0.3 -0.1
2018-01-02 12:10:00, conesus, 66.4, 66.8, 0.4 0.1
2018-01-02 12:20:00, conesus, 66.4, 66.9, 0.5 0.1
2018-01-02 12:30:00, conesus, 66.4, 66.9, 0.5 0.0
2018-01-02 12:40:00, conesus, 66.4, 66.9, 0.5 0.0
2018-01-01 12:00:00, ontario, 63.1, 63.5, 0.4 nan
2018-01-01 12:10:00, ontario, 63.1, 63.5, 0.4 0.0
2018-01-01 12:20:00, ontario, 63.2, 63.6, 0.4 0.0
2018-01-01 12:30:00, ontario, 63.1, 63.6, 0.5 0.1
2018-01-01 12:40:00, ontario, 63.1, 63.5, 0.4 -0.1
2018-01-02 12:00:00, ontario, 63.3, 63.8, 0.5 0.1
2018-01-02 12:10:00, ontario, 63.3, 63.8, 0.5 0.0
2018-01-02 12:20:00, ontario, 63.3, 63.8, 0.5 0.0
2018-01-02 12:30:00, ontario, 63.3, 63.7, 0.4 -0.1
2018-01-02 12:40:00, ontario, 63.3, 63.7, 0.4 0.0
【问题讨论】:
-
“2018-01-02 12:00:00/seneca”的
0没有意义。
标签: sql postgresql