2

我想对同一列中的值求和,但取决于不同列中的某些条件,即

value   column1 column2 column3
 11        a       x      m
 45        b       y      n
 50        b       z      p
 12        c       x      p

因此,例如,当 column1 = b & column2 = z & column n 时,我想要“价值”的总和

我使用了以下语法:

sum(case when column1 = b & column2 = z & column n then value end) total

这有效,但我正在处理很多列,所以有没有更简单的方法来做到这一点。我在考虑循环,但无法理解 SQL 中的循环。

4

1 回答 1

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'
于 2012-11-28T10:34:00.090 回答