У меня следующий запрос:
select
x.value1,
x.value2,
y,
last_value(y ignore nulls)
over (order by x.value1, x.value2 rows unbounded preceding) as val
from table t
Для следующей таблицы:
value1.x1 value2.x2 3
value1.x2 value2.x2
value1.x3 value2.x3 5
value1.x4 value2.x4
value1.x5 value2.x5
value1.x6 value2.x6 7
value1.x7 value2.x7
запрос дает вывод
value1.x1 value2.x2 3 3
value1.x2 value2.x2 3
value1.x3 value2.x3 5 5
value1.x4 value2.x4 5
value1.x5 value2.x5 5
value1.x6 value2.x6 7 7
value1.x7 value2.x7
Это правильно копирует значения до самого последнего ряда. Я не уверен, почему это не идет полностью вниз. Разве «строки без границ предшествуют» - это не правильный фрейм? Кто-то может указать на мою ошибку? Не уверен, что это применимо и к MySQL, но мне было бы интересно и такое решение.
Спасибо!