我叫match_info大致MySQL表看起来是这样的 -获取玩家的总得分只从最近的数场比赛中的MySql
match_no | player_id | score
1 | 1 | 50
1 | 2 | 12
2 | 1 | 10
2 | 2 | 14
3 | 1 | 11
3 | 2 | 30
实际表包含比这更多的数据。无论如何,为了举例,现在让我们说这是表格。我想要的是找出每个玩家对于选定数量的最近比赛的总得分。比如说现在我只需要计算两次最近的比赛。所以只匹配不。 3和2应计数,我的输出应该是 -
player_id | score
2 | 44
1 | 21
我该怎么做? 我尝试以下 - 我遇到的是 -
这MariaDB的版本尚不支持 'LIMIT & IN/ALL/ANY/SOME子查询'
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;
但是错误
所以我不能在“IN”子查询中使用限制。我可以使用什么替代方法?
非常感谢。它的作用就像一个魅力:D ...我前一段时间使用MAX和比较运算符提出了一个解决方案,但是您的解决方案看起来好多了。 – Tasfia