gpt4 book ai didi

sql - MySQL,获取用户排名

转载 作者:IT王子 更新时间:2023-10-28 23:47:17 26 4
gpt4 key购买 nike

我有一个如下所示的 mysql 表:

id     name     points
1 john 4635
3 tom 7364
4 bob 234
6 harry 9857

我基本上想在不选择所有用户的情况下获得单个用户排名。我只想通过 id 选择一个用户并获得由他们拥有的点数决定的用户排名。

例如,通过id 3选择rank 2返回tom。

干杯

头皮

最佳答案

SELECT  uo.*, 
(
SELECT COUNT(*)
FROM users ui
WHERE (ui.points, ui.id) >= (uo.points, uo.id)
) AS rank
FROM users uo
WHERE id = @id

密秩:

SELECT  uo.*, 
(
SELECT COUNT(DISTINCT ui.points)
FROM users ui
WHERE ui.points >= uo.points
) AS rank
FROM users uo
WHERE id = @id

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

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