Есть несколько новых способов (pg9.X) для выражения запроса с функцией, которая зависит от двух соседних строк? Может использовать LATERAL?PostgreSQL 9.5 запрос элегантный, как электронная таблица
Пример:
ID VAL DIFF NOTES
11 6 3 9-6=3
12 9 21 30-9=21
13 30 30 no row to subtract
Как выразить DIFF(i) = VAL(i-1)-VAL(i)
с элегантным SELECT
?
PS: пусть ORDER BY "ID"
Спасибо! У меня сложный запрос с длинным ORDER BY и вам нужно больше одного 'lead()' ... Есть способ пропустить в 'over'' (order by id) 'и сказать' 'over' same 'order by', чем этот запрос? –
@PeterKrauss: если у вас есть несколько оконных функций, вы можете объявить окно один раз. См. Мое редактирование –