【发布时间】:2013-01-29 18:14:24
【问题描述】:
我的桌子上有用户名和用户积分,我正在制作排行榜列表。我想根据积分获得前十名的球员。我已将此查询表述为:
SELECT
users.username,
users.points
FROM users
ORDER BY users.points DESC
LIMIT 10
但是,我还想根据排名第一的玩家来获取玩家的位置,而不为它创建新列。是否有一个 MYSQL 查询来通过点获取 ORDER BY DESC 以及从 ORDER 中获取 COUNT 以在列表中查找用户? (WHERE username=)。
编辑澄清:我想通过上述语句从 desc 中计算用户数。 IE。 1 - 用户 1 - 1000 分,2 - 用户 2 - 750 分……等等…… N - currentPlayer - currentPoints。我不介意使用JOIN 声明,但我不希望有一个按排名排序的新玩家列。
【问题讨论】:
-
您能否再解释一下:“是否有一个 MYSQL 查询来按点获取 ORDER BY DESC 以及从该 ORDER 中获取 COUNT ”。 COUNT 个什么?
-
不想创建新列是什么意思?您不想在表格中永久保留一列,或者您甚至不想以任何方式创建
JOIN? -
您在寻找百分位平铺排名吗?所以我们你的表结构和期望的结果。
-
为澄清而编辑。
标签: mysql count sql-order-by