gpt4 book ai didi

mysql - 列出每个玩家的前5个得分的平均值

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

在阅读了其他几个类似问题的答案后,我仍然无法用头脑来实现以下目标:
有一个球员得分列表,我想得到每个球员的前n名得分(得分表只有球员id和一个值)。最后的目的是用AVG()函数来汇总分数。
还要注意的是,n界只是一个限制;一个玩家可能有少于n个分数,在这种情况下,所有分数都应该计算出来。
计算结果后,加入player表将允许将每个player id扩展为可打印的信息。

最佳答案

从这里开始:

drop table if exists scores;
create table scores (playerid integer, score integer);
insert into scores values
(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),
(2,1),(2,2),(2,3),(2,4);

select p1.playerid, p1.score
from scores p1, scores p2
where p1.playerid = p2.playerid
and
p1.score >=
ifnull((select score
from scores
where playerid=p1.playerid
order by score desc limit 4,1
),0)
group by p1.playerid,p1.score;

这会给你想要的最高分名单。

关于mysql - 列出每个玩家的前5个得分的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11940698/

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