Tsql 使用秩更新结果集
考虑到本表:Tsql 使用秩更新结果集,tsql,Tsql,考虑到本表: create table t (EventId int ,Section int ,PlayerName nvarchar(50) ,Score int ,Rank int ) 我试图编写以EventId作为输入的T-SQL,并使用RANK函数按分数进行排名,但各部分是分开的(为每个部分单独排名,为
create table t (EventId int
,Section int
,PlayerName nvarchar(50)
,Score int
,Rank int
)
我试图编写以EventId作为输入的T-SQL,并使用RANK
函数按分数进行排名,但各部分是分开的(为每个部分单独排名,为每个部分的最高分数排名1,依此类推),然后设置/更新排名值
UPDATE tbl
SET [Rank] = t2.[Rank]
FROM tbl t1
LEFT OUTER JOIN
(
SELECT EventId
, Section
, PlayerName
, Score
, RANK() OVER (PARTITION BY EventId, Section ORDER BY Score desc) as [Rank]
FROM tbl
) as t2
ON t1.EventId = t2.EventId
AND t1.Section = t2.Section
AND t1.PlayerName = t2.PlayerName
它在SEDE上运行。运行得很好,希望我能给你多投一票@斯蒂芬你的愿望实现了:P