我有以下代码进行分区,然后根据另一列中的数据为列分配排名,但是,如果该特定分区的所有值都为0或者有2个相同的值,它仍然会增加该行数字,因为这是排名我需要任何相同的值才能排名相同。
with toupdate as (
select t.*, ROW_NUMBER() OVER (PARTITION BY RaceID ORDER BY TotalToday DESC) TDR
from Ratings t
)
update toupdate
set TotalTodayRank = TDR;
我正在使用SQL Server 2012。