sista_värde med IGNORE NULLS fungerar bra i 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
ställer in fönstret för analytisk funktion.
I det här fallet söker Oracle efter LAST_VALUE i gruppen definierad i PARTITION BY (samma objekt) från början (UNBOUNDED PRECEDING) till nuvarande rad - 1 (1 PRECEDING)
Det är en vanlig ersättning för LEAD/LAG med IGNORE NULLS i Oracle 10g
Men om du använder Oracle 11g kan du använda LAG från Gordon Linoffs svar (det finns ett litet stavfel med "ignorera null")