mysql - 选择每个玩家的得分总和
问题描述
假设简单的分数表(player_id,score)。如何选择每个玩家的得分总和?并将结果 olny 限制为 N 个最高和。
player_id|score
---------------
457| 20
457| 25
300| 50
300| 5
100| 1
如果 N 为 2,则结果应为
player_id|score
---------------
300| 55
457| 45
解决方案
首先,您需要对结果进行分组,然后按分组结果排序并将结果限制为 2 条记录(我假设players
表名):
select player_id, sum(score) score
from players
group by player_id
order by score desc
limit 2
推荐阅读
- javascript - 如何防止javascript array.push中的重复项
- java - JsonSerialize / JsonDeserialize 在 Apache Tomcat (TomEE) 中不起作用
- java - Android中图像缩放动画后如何保持质量?
- c# - 如何自动为生成的实体添加数据注释?
- angular - 如何使用 Effects 在 POST 之前或 GET 请求之后构造/操作数据
- php - CakePHP 3.6:设置数据库会话以在 8 小时不活动后注销用户
- c# - 如何使用 Xamarin.Android 在另一个应用程序中启动特定页面/功能?
- c - 为什么我在 linux 中系统调用的时间计数几乎是 0 us?
- python - SWIG 为 C 库创建 Python 绑定的问题
- ansible - 在 Ansible playbook 中将动态变量与 with_item 一起传递给 include_tasks 的语法