我正在使用一个sqlite数据库来存储玩家之间的比赛/争斗,比如:
matchid[int]赢家[text]输家[text]
我已经提出了一些问题,总结了多少次,一个球员赢得了一场战斗,另一个球员有多少战斗失败了。但是,在sql中,有没有一种方法可以直接从数据库中找到win%呢,还是必须在其他地方计算它呢?在其他地方计算这个是没有问题的,但是我很想知道是否/如何在sql中完成它。
我想要达到的基本目标是:
SELECT winner, COUNT(winner) as Wins FROM Fights GROUP BY winner
除以
SELECT loser, COUNT(loser) as Losses FROM Fights GROUP BY loser;
对于每一个玩家来说,这张表中的哪个是“赢家”或者“输家”。我也有一个表(球员),容纳所有这些球员作为“球员”,可以利用这个工作。
1条答案
按热度按时间qlckcl4x1#
你可以用
union all
和聚合:对于每个至少参加过一次战斗的玩家,这将为您提供一个介于
0
以及1
这代表了胜率。