统计col2和col2相等的时候,计算col1的总数,0表示:包含 1表示:不包含
数据:
COL1 COL2 COL3
0 A B
1 A B
1 B B
0 B B
1 C B
1 C B
0 C B
0 D B
想得到结果:
COL2 COL3 合计
A B 包含:1-不包含:2
B B 包含:1-不包含:1
C B 包含:1-不包含:2
C B 包含:1-不包含:0
数据:
COL1 COL2 COL3
0 A B
1 A B
1 B B
0 B B
1 C B
1 C B
0 C B
0 D B
想得到结果:
COL2 COL3 合计
A B 包含:1-不包含:2
B B 包含:1-不包含:1
C B 包含:1-不包含:2
C B 包含:1-不包含:0
,'包含:'+CAST((COUNT(1)-SUM(COL1))AS VARCHAR(10))+'-不包含:'+CAST(SUM(COL1)AS VARCHAR(10))
FROM TB
GROUP BY COL2,COL3
'包含:'+cast(包含 as varchar)+' 不包含:'+cast(不包含 as varchar) as 合计
from (
select COL2,COL3,
sum(case when COL1='0' then 1 else 0 end) as 包含,
sum(case when COL1='1' then 1 else 0 end) as 不包含
from tablename group by COL2,COL3
) as a order by COL2,COL3