我有一个看起来像这样的表:
+------+----------+----------+--------+
| id | team | match | score |
+------+----------+----------+--------+
| 1 | 1 | 1 | 10 |
| 2 | 2 | 1 | 5 |
| 3 | 1 | 1 | 5 |
| 4 | 1 | 2 | 6 |
| 5 | 2 | 1 | 4 |
+------+----------+----------+--------+
Run Code Online (Sandbox Code Playgroud)
我需要计算SUM()每个匹配和团队的所有分数,我知道如何计算总和...
SELECT SUM(score) AS team_a_score WHERE `match`='1'
Run Code Online (Sandbox Code Playgroud)
我希望这样的事......
+----------------+
| team_a_score |
+----------------+
| 24 |
+----------------+
Run Code Online (Sandbox Code Playgroud)
但我真正需要的是分别得到1队和2队的分数,这样就更像是......
+----------------+----------------+
| team_a_score | team_b_score |
+----------------+----------------+
| 15 | 9 |
+----------------+----------------+
Run Code Online (Sandbox Code Playgroud)
希望这很清楚
看起来你希望结果在同一行,所以你会使用这个:
select sum(case when team = 1 then score end) team_a,
sum(case when team = 2 then score end) team_b
from yourtable
where `match` = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |