2016-10-04 94 views
-1

以下是我的查詢,我正確獲取相關狀態值的總數。但我需要在特定時間範圍內的這些值。爲了得到下面的總價值是我的查詢。使用Where子句的情況下mysql

SELECT 
SUM(CASE 
    WHEN `status` = 'saved_for_review' THEN 1 
    ELSE 0 
    END) AS SavedCases, 
SUM(CASE 
    WHEN STATUS = 'send_to_warehouse' THEN 1 
    ELSE 0 
    END) AS SendtoWareshouse, 
SUM(CASE 
    WHEN STATUS = 'send_to_cep' THEN 1 
    ELSE 0 
    END) AS SendtoCEP, 
    SUM(CASE 
    WHEN STATUS = 'Successful' THEN 1 
    ELSE 0 
    END) AS Closed 
FROM table_details 

但我需要在特定的時間範圍內的值一樣

where date(created_on) between '20160701' and '20160901' 

我怎麼可以這樣where子句添加到上述查詢。任何幫助將不勝感激。

+2

任何sql教程都會告訴你where子句在'from'子句後面。 – Shadow

+1

刪除'但是我需要特定時間範圍內的值,比如',你去了。 –

+0

以前我給了一些別名,這就是爲什麼我沒有得到。添加了我的答案。請恢復反對票。 – user3408779

回答

0

首先寫作SUM(status='saved_for_review') SavedCases的作品更簡單快捷。至於WHERE條款,您只需在FROM條款之後添加它。

SELECT 
    SUM(status = 'saved_for_review') SavedCases, 
    SUM(status = 'send_to_warehouse') SendtoWarehouse, 
    SUM(status = 'send_to_cep') SendtoCEP, 
    SUM(status = 'Successful') Closed 
FROM table_details 
WHERE DATE(created_on) BETWEEN '20160701' AND '20160901'