FIRST_VALUE et LAST_VALUE renvoient la première et la dernière valeur du cadre de fenêtre. Avec le cadre par défaut, LAST_VALUE s'arrête à la ligne courante, d'où le piège classique : il faut étendre le cadre jusqu'à UNBOUNDED FOLLOWING pour obtenir la vraie dernière valeur de la partition.
Exemple
LAST_VALUE(prix) OVER (PARTITION BY produit ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)