У меня есть таблица с именем 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