我试图在basketballScore的排行榜中获得特定用户的位置。数据库中只有一个表。 这是mySQL中数据库的图像
我想它会是这样的:
declare module 'recase'
答案 0 :(得分:0)
您需要select userID,
SUM(score) as basketballScore
from user
group by userID
order by basketballScore desc
子句:
basketballScore
另请注意,我在order by
子句中重用了别名set @rank := 0;
select @rank := @rank + 1 as rank,
userID,
SUM(score) as basketballScore
from user
group by userID
order by basketballScore desc
。
如果您需要创建排名,可以使用用户变量:
{{1}}
答案 1 :(得分:0)
您可以通过以下方式获取特定用户的排名:
select 1 + count(*) as rank
from user u
where u.basketballScore > (select u2.basketballScore from user u2 where u2.userId = @userId);