Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да използвате RANK() в SQL Server

Промяна:

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)

Връща ранга на редовете в дяла на набор от резултати, без никакви пропуски в класирането. Рангът на ред е едно плюс броя на отделните рангове, които идват преди въпросния ред.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мога ли да имам външен ключ, препращащ колона в изглед в SQL Server?

  2. Как да инсталирате SQL Server на Red Hat 8

  3. Как да използвате израза IF/ELSE за актуализиране или създаване на нов запис на xml възел в Sql

  4. Избиране на N реда в SQL Server

  5. Динамичен SQL за генериране на имена на колони?