我想对同一列中的值求和,但取决于不同列中的某些条件,即
value column1 column2 column3
11 a x m
45 b y n
50 b z p
12 c x p
例如我想要“值(value)”的总和 column1 = b & column2 = z & column n
我使用了以下语法:
sum(case when column1 = b & column2 = z & column n then value end) total
这行得通,但我要处理很多列,所以有没有更简单的方法来做到这一点。 我在想循环,但无法理解 SQL 中的循环。
最佳答案
SELECT SUM(value) FROM table GROUP BY col1, col2, col3
如果特定集合需要,您可以使用
SELECT SUM(value) FROM table GROUP BY col1, col2, col3 HAVING col1='a' AND col2='n' AND col3='c'
关于mysql - 根据不同的标准求和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13602976/