poslední_hodnota s IGNORE NULLS funguje dobře v Oracle 10g:
select item, year, month, amount,
last_value(amount ignore nulls)
over(partition by item
order by year, month
rows between unbounded preceding and 1 preceding) from tab;
rows between unbounded preceding and 1 preceding
nastaví okno pro analytickou funkci.
V tomto případě Oracle hledá LAST_VALUE uvnitř skupiny definované v PARTITION BY (stejná položka) od začátku (UNBOUNDED PRECEDING) až po aktuální řádek - 1 (1 PRECEDING)
Je to běžná náhrada za LEAD/LAG s IGNORE NULLS v Oracle 10g
Pokud však používáte Oracle 11g, můžete použít LAG z odpovědi Gordona Linoffa (je tam malý překlep s "ignore null")