我有一个基于各种标准对记录进行计数的查询,但我想根据所述标准将结果拆分为两个分组字段。有没有办法在查询中执行此操作 - 或者是否需要进行两次查询?
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进行分组以获得总计数。
答案 0 :(得分: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');