Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara menggunakan RANK() di SQL Server

Ubah:

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

ke:

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

Lihat contoh ini:

SQL Fiddle DEMO

Anda mungkin juga ingin melihat perbedaan antara RANK (Transact-SQL) dan DENSE_RANK (Transact-SQL):

PERINGKAT (Transact-SQL)

Jika dua atau lebih baris terikat untuk suatu peringkat, setiap baris yang diikat menerima peringkat yang sama. Misalnya, jika dua tenaga penjualan teratas memiliki nilai SalesYTD yang sama, keduanya berada di peringkat satu. Penjual dengan SalesYTD tertinggi berikutnya adalah peringkat nomor tiga, karena ada dua baris yang peringkatnya lebih tinggi. Oleh karena itu, fungsi RANK tidak selalu mengembalikan bilangan bulat berurutan.

DENSE_RANK (Transact-SQL)

Mengembalikan peringkat baris dalam partisi kumpulan hasil, tanpa ada celah dalam peringkat. Pangkat suatu baris adalah satu ditambah jumlah pangkat berbeda yang muncul sebelum baris yang bersangkutan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. apakah mungkin untuk memilih EXISTS secara langsung sedikit?

  2. 3 Cara Mengembalikan Semua Tabel TANPA Kunci Utama di SQL Server

  3. SQL Server Ubah Lokasi File TempDB

  4. Bagaimana cara menghapus aksen dan semua karakter <> a..z di sql-server?

  5. SQL Server:Sisi gelap NVARCHAR