我有一个大表,上面有这样的分数列表,每个用户一个分数:
user,score
------
matt,10
john,20
bill,30
我想做一个查询来回答问题: “约翰,你比其他人快 xx%”
如何以最佳性能为 Microsoft SQLServer 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')
关于sql - 如何为 MSSQL2000 进行 SQL 查询 "you are better than XX percent of other users",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/295232/