Промяна:
RANK() OVER (PARTITION BY ContenderNum ORDER BY totals ASC) AS xRank
до:
RANK() OVER (ORDER BY totals DESC) AS xRank
Разгледайте този пример:
SQL Fiddle DEMO
Може също да искате да разгледате разликата между RANK (Transact-SQL) и DENSE_RANK (Transact-SQL):
РАНГ (Transact-SQL)
Ако два или повече реда се изравнят за ранг, всеки завързан ред получава същия ранг. Например, ако двамата водещи продавачи имат една и съща SalesYTDvalue, и двамата са класирани на едно място. Продавачът със следващата най-висока SalesYTD е класиран номер три, защото има два реда, които са класирани по-високо. Следователно функцията RANK не винаги връща последователни цели числа.
DENSE_RANK (Transact-SQL)
Връща ранга на редовете в дяла на набор от резултати, без никакви пропуски в класирането. Рангът на ред е едно плюс броя на отделните рангове, които идват преди въпросния ред.