根据上面的表数据,并按type字段分组统计NumA列中有多少1即下面字段numA1,NumA列有多少2即下面字段numA2;NumB列中有多少1即下面字段numB1,NumB列有多少2即下面字段numB2.

解决方案 »

  1.   

    根据第一个表数据查询出第二个表数据,不通过UNION方法怎么高效查询出来。谢谢。
      

  2.   

    select type,count(distinct NumA) numA,count(distinct NumB) numB,count(distinct NumC) numC 
    from tb group by type
      

  3.   

    谢谢LS的回复,不过不要我要的结果,我的NUMA1是统计NUMA列中有多少个值为1的个数,NUMA2是统计NUMA列中有多少个值为2的个数,并不是指每种类型有多少个不同的值。
      

  4.   


    select type,sum(case when NumA=1 then 1 else 0 end) numA1,sum(case when NumA=2 then 1 else 0 end) numA2,sum(case when NumB=1 then 1 else 0 end) numB1,,sum(case when NumB=2 then 1 else 0 end) numB2
    from tb group by type
      

  5.   


    select type,sum(case when NumA=1 then 1 else 0 end) numA1
               ,sum(case when NumA=2 then 1 else 0 end) numA2
               ,sum(case when NumB=1 then 1 else 0 end) numB1
               ,sum(case when NumB=2 then 1 else 0 end) numB2
    from tb 
    group by type