SQLSERVER 2005における並列ソート等の問題解決

2651 ワード

久しぶりに書きました.最近ちょうどランキングに使う種目があります.以前はsqlserver 2000で面倒でした.さて、sqlserver 2005にもOracleと同じランキング関数があります.
具体的にこれらの関数の使い方は自分でMSDNを见ました.
 
DECLARE @TScore TABLE
(
    name varchar(20),
    score int
)
 
INSERT INTO @TScore VALUES ('  ',100)
INSERT INTO @TScore VALUES ('  ',98)
INSERT INTO @TScore VALUES ('  ',96)
INSERT INTO @TScore VALUES ('  ',96)
INSERT INTO @TScore VALUES ('  ',100)
 
--         1  ,              
SELECT ROW_NUMBER() OVER (ORDER BY name) '  ',* FROM @TScore
 
--      ,       ,                 
SELECT RANK() OVER (ORDER BY score DESC) '  ',* FROM @TScore
 
--      ,      
SELECT DENSE_RANK() OVER (ORDER BY score DESC) '  ',* FROM @TScore