last_value với IGNORE NULLS hoạt động tốt trong 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
đặt cửa sổ cho chức năng phân tích.
Trong trường hợp này, Oracle đang tìm kiếm LAST_VALUE bên trong nhóm được xác định trong PARTITION BY (cùng một mục) từ đầu tiên (UNBOUNDED PRECEDING) cho đến hàng hiện tại - 1 (1 PRECEDING)
Đó là một sự thay thế phổ biến cho LEAD / LAG bằng IGNORE NULLS trong Oracle 10g
Tuy nhiên, nếu bạn đang sử dụng Oracle 11g, bạn có thể sử dụng LAG từ câu trả lời của Gordon Linoff (có một lỗi đánh máy nhỏ với "ignore nulls")