не совсем понятно задал вопрос, на примере.
Есть данные отсортированные
[
700,
1200,
1700,
100,
900
]
Мне хочется не прибегая к pg_plsql простым запросом пробежаться по этому массиву и вычислить итоговую сумму увеличения.
При условии если числа увеличиваются, но если число уменьшилось, то продолжаем суммировать.
Скажем первое значение "700" это по сути 0, далее 1200 - 700 = 500, далее 100 и 900 - 100 = 800
Итог должен получиться: 1400
select unnest(array[700,1200,1700,100,900])
Можете оттолкнуться вот от этого: SELECT n, v, LAG(v) OVER (ORDER BY n) AS prev_v FROM unnest(ARRAY[700, 1200, 1700, 100, 900]) WITH ORDINALITY AS u(v, n); Но как получилось 1400, я тоже не могу понять (может, пропустили 1700, когда считали вручную?).
Обсуждают сегодня