根据不同标准对值进行求和

时间:2012-11-28 10:32:21

标签: mysql sql sql-server sql-server-2008 tsql

我想在同一列中加总值,但取决于不同列中的某些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中的循环。

1 个答案:

答案 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'