22,301
社区成员




DECLARE @TEMP TABLE(ROWNO INT IDENTITY,语文成绩 INT,ID INT NULL)
INSERT INTO @TEMP(语文成绩) VALUES(91),(92),(97),(95),(87),(22),(77),(65)
SELECT * FROM @TEMP
;WITH Cte AS
(
SELECT *,DENSE_RANK() OVER(ORDER BY 语文成绩 DESC) RN FROM @TEMP
)
UPDATE Cte SET ID=RN
SELECT * FROM @TEMP
--假设pid为主键
update Temp
set id=t.RANK
from (select pid,RANK=RANK() OVER(order by b) from tb) as t
where Temp.pid=t.pid