【发布时间】:2016-02-21 18:42:23
【问题描述】:
我有一个数据库和两个命令来显示相同的东西
SELECT name, score
FROM sm_easyrank
ORDER BY score DESC, name ASC
LIMIT 0, 10
这会选择按分数排序的球员,如果两个球员的分数相同,他们将按名字排序。
SELECT count(*)
FROM sm_easyrank
WHERE score >= (SELECT (score)
FROM sm_easyrank
WHERE steamid = '%s'
)
这将计算我之前有多少玩家。
问题是:我有一个排名第一,另一个排名第二(如果我与其他人的分数相同)。我想按名称订购第二名得分相同的球员。
sm_easyrank 是表名
score 是带有分数的列(数字列)
steamid 是唯一的 id
name 是一个包含人名的列
对不起我的英语!
【问题讨论】:
-
请编辑您的问题并提供示例数据和所需结果。目前尚不清楚您要返回什么。那是
steamid,它与name有什么关系? -
我编辑了,不知道现在好不好,我是最新的
-
那么你想找出所有得分比你高的人的名字和分数吗?
-
这适用于哪个 RDBMS?无论您使用的是 MySQL、PostgreSQL、Oracle、SQL Server 还是 IBM DB2——甚至是其他东西,它通常都会产生影响。请为您的问题添加相关标签!