sql >> Databáze >  >> RDS >> Sqlserver

Rychlá pomoc pomocí RANK přes více proměnných

číslo_řádku by měly být dostatečné pro vaše potřeby.

Poznámka:Předpokládám, že váš sloupec Date je skutečný datový typ Date nebo DateTime a nikoli řetězec ve formě, kterou jste zobrazili. Pokud je tento předpoklad nesprávný, bude k převodu Date do setříditelného formátu zapotřebí nějaká další manipulace s řetězci.

;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. Unicode (hexadecimální) znakové literály v MySQL

  2. Odebrat identitu ze sloupce v tabulce

  3. OdbcConnection vrací čínské znaky jako ?

  4. Nejlepší způsob, jak uložit SET větší než 64