Php 从mysql查询中获取玩家排名
我为这个问题找到了一些很好的答案,但我真的无法让它们发挥作用 我不想从他的核心排名中得到一个球员的排名Php 从mysql查询中获取玩家排名,php,mysql,Php,Mysql,我为这个问题找到了一些很好的答案,但我真的无法让它们发挥作用 我不想从他的核心排名中得到一个球员的排名 id name score 1 John 10 2 Linda 5 3 Emmy 25 我想在查询中输入一个名字Linda,得到她的排名她在上表中只有5分,得到她的排名NR3 我在这个答案中发现了一个类似的问题,但我不明白: SELECT uo.*, ( SELECT COUNT(*) FROM users u
id name score
1 John 10
2 Linda 5
3 Emmy 25
我想在查询中输入一个名字Linda,得到她的排名她在上表中只有5分,得到她的排名NR3
我在这个答案中发现了一个类似的问题,但我不明白:
SELECT uo.*,
(
SELECT COUNT(*)
FROM users ui
WHERE (ui.points, ui.id) >= (uo.points, uo.id)
) AS rank
FROM users uo
WHERE id = @id
提前感谢从hiscore WHERE score选择COUNT*+1作为排名从hiscore WHERE name='Linda'选择得分从hiscore WHERE score选择COUNT*+1作为排名从hiscore WHERE name='Linda'选择得分尝试此查询-
SET @rownum := 0;
SELECT rank, name, score
FROM
(SELECT @rownum := @rownum + 1 AS rank, name, score
FROM players
ORDER BY score DESC)
SELECT name, score, rank FROM
(SELECT *, @r:=@r + 1 rank FROM table_name ORDER BY score DESC) t1,
(SELECT @r:=0) t2
WHERE name = 'Linda'
请尝试此查询-
SELECT name, score, rank FROM
(SELECT *, @r:=@r + 1 rank FROM table_name ORDER BY score DESC) t1,
(SELECT @r:=0) t2
WHERE name = 'Linda'
看起来你的答案很好用。统计分数大于或等于指定用户分数的所有用户。可以更改为刚好大于您想要的值,也可以添加1。然后将示例的外部where改为where name='Linda'。看起来你的答案很好。统计分数大于或等于指定用户分数的所有用户。可以更改为刚好大于您想要的值,也可以添加1。然后将外部where改为where name='Linda'作为示例。如果出现领带,它将失败!它将失败的情况下,领带!