sql - 如何为 MSSQL2000 进行 SQL 查询 "you are better than XX percent of other users"

标签 sql sql-server

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

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/

相关文章:

sql - 在 SQL 中处理多个硬编码值的最简单方法?

c++ - 在C++中执行sql脚本

sql - 选择没有连接的表时的结果集逻辑?

mysql - 选择每个项目每月的最新行

sql - 如何组合 SELECT 语句来计算 SQL Server 中的百分比、成功和失败?

sql - 重建索引会使我的生产数据库停止工作吗?

sql-server - 在 SQL Server 中从远程服务器检索数据!

mysql - 选择要更新的查询

sql - 如何在不获取重复列名的情况下选择 SQL 连接中的所有字段?

mysql - SQL group by (?) 查询未按要求返回