我有一个在我的数据库中播放的游戏列表。每个游戏都有time
和result
变量。结果可以是" A获胜"," B获胜"或"画"。
我想计算" A胜出的次数"发生在过去的50场比赛中(时间最长的比赛)。
目前我正在考虑跑步:
SELECT result FROM games ORDER BY time DESC Limit 50
然后通过列表并计算" A获胜"的金额。但是我觉得应该可以在SQL中使用所有内容,但我不知道如何操作。有没有办法形成查询以在SQL中执行所有操作?
答案 0 :(得分:1)
我建议尝试两个查询。 第一个将获取最近50场比赛的列表。 第二个查询将使用第一个查询的结果来计算“A”赢得的游戏数量。 这两个查询可以作为查询与这个
之类的子查询组合在一起select count(result) from
(
select * from games
order by time desc limit 50
) as last_50_games
where result = 'A wins';