You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用MySQL查询每位玩家的最高得分?

获取每位玩家最高得分的简洁SQL方案

嘿,这问题我熟!你原来的SQL语句有个小问题:用GROUP BY name分组后直接选score,数据库只会返回该玩家分组里的任意一条记录的得分(不同数据库处理逻辑有差异,但肯定不是你要的最高分)。

要简洁地拿到每位玩家的最高得分,只需要给score加上聚合函数MAX()就行,直接看修改后的语句:

SELECT name, MAX(score) AS highest_score 
FROM arcade 
GROUP BY name 
ORDER BY highest_score DESC;

简单解释下:

  • MAX(score):自动计算每个name分组里的最高得分,精准满足你“每位玩家最高得分”的需求
  • AS highest_score:给计算出的最高分列起一个更清晰的别名,方便后续使用
  • 保留GROUP BY name按玩家分组,ORDER BY highest_score DESC按最高分从高到低排序,和你原来的排序需求完全匹配

如果之后你需要获取最高分对应的其他信息(比如玩家拿到最高分的时间),可能需要用到窗口函数(比如ROW_NUMBER()),但就目前的需求来说,上面的语句已经足够简洁高效啦!

内容的提问来源于stack exchange,提问作者user1022585

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:01:06