【发布时间】:2016-02-26 04:59:51
【问题描述】:
我有一张高分表。当我阅读它们时,我按分数 DESC 排序。
scores
id name score
即
SELECT name, score FROM scores ORDER BY score DESC
现在我想知道一个人的等级。我正在尝试找到一种方法来组合它,而不必遍历所有高分。这是我的想法,但我知道这行不通。有什么想法吗?
SELECT COUNT(id), name, score FROM scores WHERE name = ? ORDER BY score DESC
我应该使用 WHERE 吗?
【问题讨论】:
-
当你说排名时,你是指他们在结果集中的索引吗?
-
一个人的等级是什么意思?
-
我的意思是计数的数字。例如:我按分数 DESC 排序。然后我开始计算行数以获得它们的排名:1、2、3、4。
-
我需要知道 1 条记录的行号(例如 WHERE name = ?)