在mysql中,我尝试在给定特定条件的列中求和值。下面我举了一些数据的例子
Team Season Mth Stat
A 1 1 4
A 1 1 4
A 1 2 7
A 1 2 9
B 1 1 6
B 1 1 6
B 1 2 6
B 1 2 9
C 1 1 1
C 1 1 3
C 1 2 3
C 1 2 6
但我需要输出显示为
Team Season Mth Stat
A 1 1 8
A 1 2 16
B 1 1 12
B 1 2 15
C 1 1 4
C 1 2 9
所以 Stat
列现在是单元格的总和,这样匹配、季节和团队都是相同的。我有下面的代码。我看到很多答案都使用“case”,但似乎给出的逻辑运算符并不相等。当我在下面做的时候,现在它无法识别列来自哪个表。我确实有一个内部连接,但数据本身来自一个表。我在sum函数上也遇到了另一个错误,因为它需要一个参数。
select
Team
,Season
,Match
--this is where I get lost-----------
sum(
select
Stat
From
table
Where
Mth=Mth
AND Season=Season
AND Team=Team
)
--end of getting lost----------------
FROM
table
Where
Season IN (1,2)
GROUP BY
Team
,Season
,Mth
Order BY
Team ASC
编辑:事实证明,我需要按照评论的建议使用groupby。所以我不是在一个表中求和,而是对给定参数的变量求和。
2条答案
按热度按时间0s0u357o1#
除非我漏掉了什么,否则就是:
7bsow1i62#
很简单:
请看SQLFiddle示例。