В моей базе данных PostgreSQL есть функция, которая при вызове
select * from schema.function_name($1,$2,$3);
возвращает таблицу, подобную следующей
calculation_date | value | increment
2020-01-01 | 1 | 0.5
2020-01-02 | NULL | NULL
2020-01-03 | NULL | NULL
2020-01-04 | NULL | NULL
2020-01-05 | 4 | 2
2020-01-06 | NULL | NULL
2020-01-07 | NULL | NULL
2020-01-08 | 8.5 | 1
Как вы можете видеть данные, возвращаемые этой функцией может быть несопоставимым. Что я хотел бы сделать, так это запросить эту функцию, чтобы столбец value
, когда NULL
, увеличивался по возрастанию на основе последнего заполненного значения в столбце increment
. Таким образом, в этом примере приведенная выше таблица будет преобразована в приведенную ниже
calculation_date | value | increment
2020-01-01 | 1 | 0.5
2020-01-02 | 1.5 | NULL
2020-01-03 | 2.0 | NULL
2020-01-04 | 2.5 | NULL
2020-01-05 | 4 | 2
2020-01-06 | 6 | NULL
2020-01-07 | 8 | NULL
2020-01-08 | 8.5 | 1
Если у кого-нибудь есть какие-либо предложения относительно того, как я могу go добиться этого результата, я был бы признателен. Я использую v10. Если вам нужна дополнительная информация, не стесняйтесь спрашивать.