2012-05-16 96 views
1

我正在使用MsSQL,并且我想在某些条件满足的情况下添加一些值。 是否有可能在sum()函数中使用WHERE子句?或者是有一个相当于excel SUMIF()的函数。SQL sum函数与where子句

+3

后您的查询,我们可以提供帮助。 –

回答

1

你可以使用CASE

SELECT SUM(CASE WHEN YourCondition=1 THEN 1 ELSE 0 END) 
FROM YourTable 
+0

+1对Oded的方法,这允许你分组的结果(我猜)对OP更有用。 – bendataclear

2

SUM聚合将只对受WHERE子句约束的结果集进行操作。

换句话说,是的,这很好。

SELECT SUM(days) 
FROM myTable 
WHERE something = another 
+0

对不起,我没有解释,但我不使用条款 – Metta

+1

@Mhretabk - 那么,你在哪里使用条件呢?在您的问题中发布查询将毫无疑问。 – Oded