在sql server中与多个条件求和

时间:2016-07-23 17:18:25

标签: sql-server sum case-statement multiple-conditions

我有一个查询,用多个条件捕获总和(见下文),但是,我想做同样的事情,但如果可能的话,在案例陈述中。

原始查询:

3 STEAKS, 777-888-999, 3

我试图把它放在一个案例陈述中。

select
sum(Total Cost)
from Table 
where date between '7/20/2016' and '7/21/2016'
and customer = "New Customer"
and sales like 's%'

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找这样的东西:

SELECT SUM(CASE WHEN customer = 'New Customer' AND sales LIKE 's%' THEN [Total Cost] END)
FROM Table
WHERE [date] BETWEEN '2016-07-20' AND '2016-07-21'

请注意 - 您问题中的第二个查询等同于count,而不是sum。此外,当使用字符串来表示日期时,请始终使用yyyy-mm-dd格式,以避免歧义 - 在sql server中 - 1/4/2016可能是4月1日,但也可能是1月4日。但是,2016-04-01只能是4月1日。