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.