我想在同一列中加总值,但取决于不同列中的某些creteria,即
value column1 column2 column3
11 a x m
45 b y n
50 b z p
12 c x p
所以,例如我想要'价值'的总和 column1 = b& column2 = z&第n栏
我使用了以下语法:
sum(case when column1 = b & column2 = z & column n then value end) total
虽然有效,但我正在处理很多列,所以有更简单的方法来做到这一点。 我在思考循环,但无法理解SQL中的循环。
答案 0 :(得分:1)
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'