Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách sử dụng RANK () trong SQL Server

Thay đổi:

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

tới:

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

Hãy xem ví dụ này:

SQL Fiddle DEMO

Bạn cũng có thể muốn xem xét sự khác biệt giữa RANK (Transact-SQL) và DENSE_RANK (Transact-SQL):

RANK (Giao dịch-SQL)

Nếu hai hoặc nhiều hàng buộc cho một thứ hạng, thì mỗi hàng buộc sẽ nhận được cùng một thứ hạng. Ví dụ:nếu hai nhân viên bán hàng hàng đầu có cùng giá trị SalesYTD, thì cả hai đều được xếp hạng một. Nhân viên bán hàng cóSalesYTD cao nhất tiếp theo được xếp thứ ba, vì có hai hàng được xếp hạng cao hơn. Do đó, hàm RANK không phải lúc nào cũng trả về các số nguyên liên tiếp.

DENSE_RANK (Giao dịch-SQL)

Trả về thứ hạng của các hàng trong phân vùng của tập hợp kết quả, không có bất kỳ khoảng trống nào trong xếp hạng. Thứ hạng của một hàng là một cộng với số thứ hạng khác biệt đứng trước hàng được đề cập.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có cách nào để lấy danh sách tất cả các bảng tạm thời hiện tại trong SQL Server không?

  2. Xóa các hàng trùng lặp (dựa trên giá trị từ nhiều cột) khỏi bảng SQL

  3. Bảo trì cơ sở dữ liệu hệ thống máy chủ SQL

  4. Sự khác biệt về cách xử lý khoảng trắng giữa Oracle và SQL Server

  5. 3 cách để nhận các bước công việc của công việc đại lý máy chủ SQL (T-SQL)