SQL Server CASE语句有两个条件

PaP*_*nG0 1 t-sql sql-server select case between

我有一个样本表,其中包含帮助台呼叫中心数据.在此表中存储了呼叫日志和相关内容.该表有call_nodate_logged列和一列.

我试图使用一个案例,我可以获得给定时间段内的总呼叫数.

下面是示例代码.

SELECT
    COUNT(CASE WHEN CALLS.DATE_LOGGED BETWEEN '2018/04/06' AND '2018/04/07' 
               THEN calls.CALL_NO END) AS "CALLS LOGGED YESTERDAY"
FROM 
    LOGGED_CALLS CALLS
Run Code Online (Sandbox Code Playgroud)

这给了我系统中的调用总数,我不想在这种情况之外使用where子句.

让我们假设它再次是4月7日,我希望从前一天开始记录呼叫

Byr*_*ell 6

使用SUM而不是COUNT:

SELECT
  SUM(CASE WHEN CALLS.DATE_LOGGED BETWEEN '2018/04/06' AND '2018/04/07' 
              THEN 1 ELSE 0 END) AS "CALLS LOGGED YESTERDAY"

FROM LOGGED_CALLS CALLS
Run Code Online (Sandbox Code Playgroud)