numéro_ligne devrait suffire à vos besoins.
Remarque :Je suppose que votre colonne Date est un vrai type de données Date ou DateTime et non une chaîne dans le formulaire que vous avez montré. Si cette hypothèse est fausse, une manipulation de chaîne supplémentaire serait nécessaire pour convertir Date dans un format triable.
;with cteRowNumber as (
select Date, ProductID, Year, Price,
row_number() over (partition by ProductID, Year order by Date desc) as RowNum
from YourTable
)
select Date, ProductID, Year, Price
from cteRowNumber
where RowNum = 1