gpt4 book ai didi

mysql - 查询以获取记录及其在数据库中的排名

转载 作者:行者123 更新时间:2023-11-29 07:06:37 29 4
gpt4 key购买 nike

我有一个包含用户名和结果的表。当用户将他的结果插入数据库时​​,我想执行一个将返回的查询前 X 个结果(以及它们在数据库中的排名)并且还将获得该用户结果以及他在数据库中的排名。结果应该是这样的:

1 玩家名 4500

2 其他玩家 4100

3 另一个 3900...

134 当前玩家 140

我试过用 union 查询,但我没有得到当前玩家等级。有人有想法吗?

数据库是MYSQL。

10 倍,周末愉快 :)

编辑

这是我试过的:

(选择 substr(名字,1,10)作为名字,结果 FROM top_scores ts WHERE result_date >= NOW() - 间隔 1 天 限制 10) 联盟(选择 substr(first_name,1,10) 作为 first_name,结果 FROM top_scores ts 其中 first_name='XXX' and result=3030);

最佳答案

SET X = 0;

SELECT @X:=@X+1 AS rank, username, result
FROM myTable
ORDER BY result DESC
LIMIT 10;

回复你的评论:

这个怎么样:

SET X = 0;

SELECT ranked.*
FROM (
SELECT @X:=@X+1 AS rank, username, result
FROM myTable
ORDER BY result DESC
) AS ranked
WHERE ranked.rank <= 10 OR username = 'current';

关于mysql - 查询以获取记录及其在数据库中的排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6961822/

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