Я хочу использовать оконные функции при множественном последовательном выборе, но кажется, что только первый может использовать преимущества разделов.
Таблица происхождения будет выглядеть так:
create table mytable
(
myvar int
)
partitioned by (ut string, year string, month string, day string);
Вот пример кода, который я использовал бы для запроса mytable:
select *,
first_value(next_var_value ignore nulls) over (partition by ut order by year,month,day rows between 1 following and unbounded following)
as next_2_value
from(
select ut, year,month,day, myvar,
first_value(myvar ignore nulls) over (partition by ut order by year,month,day rows between 1 following and unbounded following)
as next_var_value
from mytable
)a;
Похоже, что оконная функция для next_var_value может воспользоваться преимуществами mytable разбиения, но секунда выбирает оконную функцию (next_2_value) не может.
Я мог бы создавать новую таблицу для каждого выбора, но я бы предпочел не делать этого.