如何为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')