rækkenummer bør være tilstrækkelig til dine behov.
Bemærk:Jeg antager, at din Dato-kolonne er en sand Dato- eller DateTime-datatype og ikke en streng i den form, du har vist. Hvis denne antagelse er forkert, vil der være behov for yderligere strengmanipulation for at konvertere Dato til et sorterbart format.
;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