SQL 具有两个条件的服务器 CASE 语句
SQL Server CASE statement with two conditions
我有一个示例 table,其中包含服务台呼叫中心数据。在此 table 中存储了通话记录和相关内容。这个 table 有一个 call_no
和一个 date_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
这是我系统中的调用总数,我不想在此条件之外使用 where 子句。
让我们假设又是 4 月 7 日,我想记录前一天的通话记录
使用 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
我有一个示例 table,其中包含服务台呼叫中心数据。在此 table 中存储了通话记录和相关内容。这个 table 有一个 call_no
和一个 date_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
这是我系统中的调用总数,我不想在此条件之外使用 where 子句。
让我们假设又是 4 月 7 日,我想记录前一天的通话记录
使用 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