【发布时间】:2018-09-25 12:17:02
【问题描述】:
我有一个包含一个赛季所有足球比赛的数据库,我想对结果进行一些简单的计算。这是桌子的样子:
+----------+----------+---------------+---------------+--+
| HomeTeam | AwayTeam | HomeTeamGoals | AwayTeamGoals | |
+----------+----------+---------------+---------------+--+
| team1 | team2 | 3 | 1 | |
| team3 | team4 | 1 | 2 | |
| team1 | team3 | 4 | 4 | |
| team4 | team2 | 0 | 1 | |
+----------+----------+---------------+---------------+--+
现在我想为每个团队计算 4 件事:
- 主场比赛总进球数
- 客场比赛总进球数
- 主场比赛的总进球数
- 客场比赛总进球数
通过这个查询,我可以正确地返回主场比赛的所有信息:
SELECT HomeTeam, SUM(HomeTeamGoals) as HomeTeamGoals, SUM(AwayTeamGoals) as AwayTeamGoals
FROM games
GROUP BY HomeTeam
但是我现在如何获取客场比赛的信息(来自同一个查询)?
根据上表中的数据,结果应该如下:
+-------+----------+--------------+----------+--------------+
| team | home for | home against | away for | away against |
+-------+----------+--------------+----------+--------------+
| team1 | 7 | 5 | 0 | 0 |
| team2 | 0 | 0 | 2 | 3 |
| team3 | 1 | 2 | 4 | 4 |
| team4 | 0 | 1 | 2 | 1 |
+-------+----------+--------------+----------+--------------+
【问题讨论】:
-
您共享的表中没有 FTHG 或 FTAH 字段。查询与表不匹配
-
@LelioFaieta 我的错,现在已在查询中修复。
-
在表格结构中显示您的预期结果
-
@fa06 添加到原件。
-
@Awesom-o,你可以查看答案