نقل قول: رتبه بندی با دستور sql
یه چیزی شبیه این میشه
DECLARE @MainTbl TABLE(name NVARCHAR(10), N tinyint, r smallint)
INSERT INTO @MainTbl
(
name,
N
)
select N'a1', 20
UNION ALL SELECT 'a2' , 19
UNION ALL SELECT 'a3' , 17
UNION ALL SELECT 'a4' , 17
UNION ALL SELECT 'a5' , 15
UNION ALL SELECT 'a6' , 14
UNION ALL SELECT 'a7' , 10
UPDATE t1 SET r = t2.R
FROM @MainTbl t1
LEFT JOIN(SELECT t1.N, COUNT(t2.N) + 1 R
FROM @MainTbl t1
LEFT JOIN @MainTbl t2 ON t1.N < t2.N
GROUP BY t1.N, t1.name) t2 ON t1.N = t2.N
SELECT * FROM @MainTbl