如何为MSSQLS2000进行SQL查询“您比其他用户的XX%要好”

如何为MSSQLS2000进行SQL查询“您比其他用户的XX%要好”,sql,sql-server,Sql,Sql Server,我有一个大表,上面有这样的分数列表,每个用户一个分数: user,score ------ matt,10 john,20 bill,30 我想提出一个问题的答案: 约翰,你比其他人快xx% 如何以最佳性能对Microsoft SQL Server 2000进行这样的查询。我没有MSSQL 2k,但这在2005年起作用,如果分数和用户都有适当的索引,那么它的性能应该相当好 SELECT (count(*)/(SELECT cast(count(*) as float) FROM use

我有一个大表,上面有这样的分数列表,每个用户一个分数:

user,score
------
 matt,10
 john,20 
 bill,30
我想提出一个问题的答案: 约翰,你比其他人快xx%


如何以最佳性能对Microsoft SQL Server 2000进行这样的查询。

我没有MSSQL 2k,但这在2005年起作用,如果分数和用户都有适当的索引,那么它的性能应该相当好

SELECT (count(*)/(SELECT cast(count(*) as float) FROM users))*100 FROM users
WHERE score < (SELECT score FROM users WHERE user = 'john')