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.