我正在尝试获取 MySQL SELECT 语句的排名值(MySQL 不是我太熟悉的东西)。
此查询以正确的顺序(通过更多的统计数据)为我提供了我正在寻找的正确结果,但我需要从结果中获取特定值。
SELECT id, stats,
@curRank := @curRank + 1 AS rank
FROM statistics.web_stats p, (SELECT @curRank := 0) r
ORDER BY stats DESC;
给了我这个预期的结果:
id,stats,rank
999,291,1
1137,82,2
1084,79,3
1111,60,4
1097,55,5
1094,51,6
1109,50,7
1112,49,8
1154,44,9
1082,36,10
我需要做什么来获取任何特定 id 的排名值,例如,在我的 PHP 代码中,如何找到 id 1111 的排名位置(以返回“4”的排名值)?
我不得不用锄头进一步从结果中提取值。我是否需要以某种方式保存它们,或者我可以进一步扩展 MySQL 查询吗?
宝慕林4294392