【发布时间】:2017-12-26 13:18:43
【问题描述】:
MySql 名为 match_info 的表大致是这样的 -
match_no | player_id | score
1 | 1 | 50
1 | 2 | 12
2 | 1 | 10
2 | 2 | 14
3 | 1 | 11
3 | 2 | 30
实际的表包含比这更多的数据。无论如何,为了举例,让我们说这是现在的表格。我想要的是找到每个球员在最近几场比赛中的总分。例如说现在我只需要计算最近的 2 场比赛。所以只匹配没有。应该计算 3 和 2,我的输出应该是 -
player_id | score
2 | 44
1 | 21
我该怎么做? 我尝试了以下 -
SELECT player_id,SUM(score) as total_score
FROM match_info
where match_no IN
(select match_no
from match_info
ORDER BY match_no DESC LIMIT 2)
group by player_id
order by total_score desc;
然而我遇到的错误是——
此版本的 MariaDB 尚不支持“LIMIT & IN/ALL/ANY/SOME 子查询”
所以我不能在“IN”子查询中使用限制。我可以使用什么替代方法?
【问题讨论】: