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

Jak používat RANK() v SQL Server

Změna:

RANK() OVER (PARTITION BY ContenderNum ORDER BY totals ASC) AS xRank

komu:

RANK() OVER (ORDER BY totals DESC) AS xRank

Podívejte se na tento příklad:

DEMO SQL Fiddle

Můžete se také podívat na rozdíl mezi RANK (Transact-SQL) a DENSE_RANK (Transact-SQL):

HODNOCENÍ (Transact-SQL)

Pokud jsou dvě nebo více řad shodné o hodnost, každá shodná řada obdrží stejnou hodnost. Pokud mají například dva nejlepší prodejci stejnou hodnotu SalesYTD, jsou oba zařazeni jako jedna. Prodejce s dalším nejvyšším ProdejemYTD je na třetím místě, protože existují dva řádky, které jsou umístěny výše. Proto funkce RANK nevrací vždy po sobě jdoucí celá čísla.

DENSE_RANK (Transact-SQL)

Vrátí pořadí řádků v rámci oddílu sady výsledků bez jakýchkoli mezer v hodnocení. Pořadí řádku je jedna plus počet odlišných pořadí, které předcházejí příslušnému řádku.



  1. Oznamujeme repmgr 2.0

  2. Alfanumerické řazení pomocí PostgreSQL

  3. Apache NiFi

  4. Jak mohu získat včasný přístup k aktualizacím Oracle Java, abych mohl otestovat své RIA a vyhnout se nácvikům požáru, když jsou tyto aktualizace zveřejněny?