2012-04-13 24 views
1

レコードにはさまざまな基準に基づいてカウントされるクエリがありますが、上記の基準に基づいて2つのグループ化されたフィールドに分割したいと思います。クエリ内でこれを行う方法はありますか?または2つのクエリを持つ必要がありますか?SQLiteを使用してwhere句に基づいた集計

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%'あたり1つのカウントと 'IP%'に1つのカウントが必要な場合。それでは、このような何か:

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

これはまさに私が探していたものです。どうもありがとう! SSレコードとIPレコードをグループ化するために 'TASK_ASSAY'フィールドを持つ必要があるかどうかはわかりませんでした。 – gsforfree

関連する問題