在几个条件下计算总数

时间:2012-02-03 10:54:46

标签: mysql

假设我有一个这样的表:

id     col1     col2     col3
1      a        1        k1
2      a        2        k2
3      a        -3       k3
4      b        3        k4

现在,我想要所有行的列'col2'的总和,其中'col1'与'id'= 1的行中的'col1'相同。

那么这将是1 + 2-3 = 0。

我将如何在SQL中表达这一点?

2 个答案:

答案 0 :(得分:2)

SELECT SUM(col2) from TABLE
where col1 in (SELECT col1 from TABLE where id = 1)

答案 1 :(得分:1)

您可以触发此查询

select col1 ,sum(col2) as total from tableName group by col1

您将获得输出

col1    total
a       0
b       4

和特定ID

SELECT col1, sum( col2 ) AS total
  FROM tableName
  WHERE col1 IN ( SELECT col1
                  FROM tableName WHERE id =1)