统计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

解决方案 »

  1.   

    SELECT COL2,COL3
    ,'包含:'+CAST((COUNT(1)-SUM(COL1))AS VARCHAR(10))+'-不包含:'+CAST(SUM(COL1)AS VARCHAR(10))
    FROM TB
    GROUP BY COL2,COL3
      

  2.   

    select 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