Как я могу заменить среднее значение в этом вычислении на среднее значение?
select *
, coalesce(val, avg(val) over (order by t rows between 3 preceding and 1 preceding)) as fixed
from (
values
(1, 10),
(2, NULL),
(3, 10),
(4, 15),
(5, 11),
(6, NULL),
(7, NULL),
(8, NULL),
(9, NULL)
) as test(t, val)
;
Существует ли легальная версия этого?
percentile_cont(0.5) within group(order by val) over (order by t rows between 3 preceding and 1 preceding)