如何编写SQL查询,结果表中有多个求和列



例如,有两个表:

系列:有3个相关栏目(2个团队在一个系列中):series_id、team1_id和team2_id

结果:具有3个相关列:series_id、team_id(和时间)

每当一支球队赢得一场系列赛,结果表中就会插入一行。

我必须知道每个系列赛的当前分数。所以我需要加入series_id和team id的表格。但是我想要一个看起来像这样的结果:

series team1 team2
------------------
1        4     3
2        3     1
3        2     4

我不知道如何在结果表中获得多个列,这两个列都存储来自输入表的条件行的SUM。有什么想法吗?

加入series_id上的表格,然后按系列分组,并计算获胜团队与系列中相应参与者匹配的次数(在MySQL中,可以使用SUM(boolean expression)进行计数,因为TRUE等于1FALSE等于0):

SELECT   series_id,
         SUM(RESULTS.team_id = SERIES.team1_id) AS team1,
         SUM(RESULTS.team_id = SERIES.team2_id) AS team2
FROM     SERIES LEFT JOIN RESULTS USING (series_id)
GROUP BY series_id

最新更新