gpt4 book ai didi

mysql - 使用 MySQL 获取用户排名

转载 作者:可可西里 更新时间:2023-11-01 06:28:54 24 4
gpt4 key购买 nike

我阅读了很多关于这个问题的主题,但找不到解决方案。

我有一张表(称为用户),其中包含我网站的用户。他们有积分。例如:

+-----------+------------+
| User_id | Points |
+-----------+------------+
| 1 | 12258 |
| 2 | 112 |
| 3 | 9678 |
| 4 | 689206 |
| 5 | 1868 |
+-----------+------------+

在页面顶部设置了变量 $user_id。例如 user_id 是 4。现在我想通过点数获得用户的排名(如果 user_id 是 4,输出应该是 1)。

非常感谢!

最佳答案

SELECT 
COUNT(*) AS rank
FROM users
WHERE Points>=(SELECT Points FROM users WHERE User_id=4)

更新了一些更有用的东西:

SELECT 
user_id,
points,
(SELECT COUNT(*)+1 FROM users WHERE Points>x.points) AS rank_upper,
(SELECT COUNT(*) FROM users WHERE Points>=x.points) AS rank_lower
FROM
`users` x
WHERE x.user_id = 4

其中包括用户所在的等级范围。例如,如果前五名的分数是 5 4 3 3 3,则结果将是:

id points rank_upper rank_lower
id 5 1 1
id 4 2 2
id 3 3 5
id 3 3 5
id 3 3 5

关于mysql - 使用 MySQL 获取用户排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10363388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com