例如,有2个表:
系列:有3个相关专栏(2个系列是一系列): series_id,team1_id和team2_id
结果:有3个相关专栏: series_id,team_id(和时间)
每次团队赢得SERIES游戏时,都会在RESULTS表中插入一行。
我必须知道每个系列的当前分数。所以我需要加入关于series_id和团队ID的表格。但是我想要一个看起来像这样的结果:
series team1 team2
------------------
1 4 3
2 3 1
3 2 4
我不明白如何在结果表中获取多个列,这两个列都存储来自输入表的条件行的SUM。有什么想法吗?
答案 0 :(得分:0)
加入series_id
上的表格,然后按系列分组并计算获胜团队与系列中各自参与者匹配的次数(在MySQL中可以使用SUM(boolean expression)
来执行计数,因为TRUE
等同于1
和FALSE
至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