【发布时间】:2018-09-29 10:37:44
【问题描述】:
我有一个包含已玩游戏及其得分的数据库。现在我想运行一个查询,计算每支总进球数超过 x 的球队的所有结果(主客场加起来)。
数据库结构:
+----------+----------+---------------+---------------+
| HomeTeam | AwayTeam | HomeTeamGoals | AwayTeamGoals |
+----------+----------+---------------+---------------+
| team1 | team2 | 3 | 1 |
| team3 | team4 | 1 | 2 |
| team1 | team3 | 4 | 4 |
| team4 | team2 | 0 | 1 |
+----------+----------+---------------+---------------+
想要的结果:
+-------+----------+--------------------+
| team | played | games > 3.5 goals |
+-------+----------+--------------------+
| team1 | 2 | 2 |
| team2 | 2 | 1 |
| team3 | 2 | 1 |
| team4 | 2 | 0 |
+-------+----------+--------------------+
我在看这样的东西:
SELECT *, COUNT(*) AS total FROM games WHERE homeTeamGoals + awayTeamGoals > 3.5 GROUP BY homeTeam
但这仅适用于主场比赛,所以我需要一种方法来添加客场比赛。
【问题讨论】:
-
team4的预期结果错误。没有匹配team4的总进球数超过 3.5。 team4 的一场比赛(与 team3)的总进球数 = 3,另一场比赛(与 team2)的总进球数 = 1