sql >> Databasteknik >  >> RDS >> Sqlserver

Snabb hjälp med att använda RANK över flera variabler

radnummer bör vara tillräckligt för dina behov.

Obs! Jag antar att kolumnen Datum är en datatyp för sann datum eller datum och inte en sträng i den form du har visat. Om det antagandet är fel skulle ytterligare strängmanipulation behövas för att konvertera Date till ett 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



  1. Vad är det bästa sättet att göra inkrementella säkerhetskopieringar i MySQL?

  2. Hur man deklarerar en talvariabel där jag kan spara tabellens antal i min loop

  3. MySQL - Subtrahera värde från föregående rad, gruppera efter

  4. Hur man skriver ut varje objekt som härrör från grupp för uttalande