我在SQL Server 2005中的一個問題:SQL Server 2005中RANK函數
假設我有表PLAYER
(string player, int score, bool Active
)與此查詢:
SELECT PLAYER.player AS NAME,
PLAYER.score AS SCORE,
POSITION = CASE WHEN PLAYER.Active THEN RANK()OVER(ORDER BY score desc) else NULL end
from PLAYER
的問題是,當玩家不活躍,產生的頭寸不連續。
例如:
JOHN,10000,1
PETER,5000,NULL (NOT ACTIVE)
CHARLES,2500,3 (SHOULD HAVE POSITION 2, NOT 3)
對不起,我的可怕的英語,我希望我解釋我的觀點
不活躍球員的排名怎麼樣?你想排名嗎?還是隻想排名現役球員? –
我想排名只有活躍的球員。不活動必須具有空值非位置列 –