2012-04-13 82 views
1

我有一個基於各種標準來計數記錄的查詢,但我想根據上述標準將結果拆分爲兩個分組字段。有沒有辦法在查詢內部做到這一點 - 還是有必要有兩個查詢?根據where子句使用SQLite彙總結果

select count(PT_TASK_ASSAY_DISP) as 'Count' from vbasedata v 
where 
    v.PT_TASK_ASSAY_DISP like 'SS%' or 
    (v.PT_TASK_ASSAY_DISP like 'IP%' and 
    v.PT_TASK_ASSAY_DISP not like 'IP CUT' and 
    v.PT_TASK_ASSAY_DISP not like 'IP NEG'); 

我試圖按IP和SS分組以獲得總數。

回答

2

我不是很確定你想要什麼。但是,如果您希望每個'SS%'有一個計數,而'IP%'需要一個計數。那麼可能是這樣的:

select 
    SUM(CASE WHEN PT_TASK_ASSAY_DISP LIKE 'SS%' THEN 1 ELSE 0 END) as SSCount, 
    SUM(CASE WHEN PT_TASK_ASSAY_DISP LIKE 'IP%' THEN 1 ELSE 0 END) as IPCount 
from vbasedata v 
where 
    v.PT_TASK_ASSAY_DISP like 'SS%' or 
    (v.PT_TASK_ASSAY_DISP like 'IP%' and 
    v.PT_TASK_ASSAY_DISP not like 'IP CUT' and 
    v.PT_TASK_ASSAY_DISP not like 'IP NEG'); 
+0

這正是我所期待的。非常感謝!我不確定是否有必要有一個'TASK_ASSAY'字段來分組SS和IP記錄。 – gsforfree 2012-04-13 17:38:05