gpt4 book ai didi

mysql - SQL Ranking with multiple rows [相同的用户仍然有相同的排名]

转载 作者:行者123 更新时间:2023-11-29 02:53:01 25 4
gpt4 key购买 nike

我知道一点 SQL,我一直想知道如何从我的 Users 表中选择用户,我发现了这个:

SELECT *, FIND_IN_SET( Score, (    
SELECT GROUP_CONCAT( Score ORDER BY Score DESC )
FROM Users
)
) AS Rank
FROM Users
WHERE UserID = 100
ORDER BY Score DESC

问题是,如果同一用户有多个行,那么他们将单独排名。我想知道如何获得最高的 Score 并让 Rank 返回它

它看起来像什么(没有 WHERE UserID = 100 子句):

ID-----UserID-----Score----Rank
1------100--------6--------1
2------192--------4--------2
3------192--------3--------3

我想要的(没有 WHERE UserID = 100 子句):

ID-----UserID-----Score----Rank
1------100--------6--------1
2------192--------4--------2
3------192--------3--------2

感谢您的帮助!

最佳答案

尝试以下操作:

SET @rank=0;
SELECT *, @rank:=@rank+1 AS rank
FROM Users
WHERE UserID = 100
ORDER BY Score DESC

关于mysql - SQL Ranking with multiple rows [相同的用户仍然有相同的排名],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33714315/

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