某表内容如下:
姓名 学校 通过状态(0为待定,1为通过,2为未通过)
st2 schoola 0
st1 schoola 2
st5 schoola 1
st7 schoolb 1
st3 schoolb 1
st9 schoolb 2输出的结果要如下:
学校 通过个数 未通过个数 待定个数
schoola 1 1 1
schoola 1 0 2
大家帮个忙,写条sql语句实现了

解决方案 »

  1.   

    LZ你确定你要的结果是这个:
    学校 通过个数 未通过个数 待定个数
    schoola 1 1 1
    schoola 1 0 2????????
      

  2.   

    oracle中有一个行转列的函数,LZ可以参考一下(不针对你上面的结果):wmsys.wm_concat()
      

  3.   

    schoola 1 1 1
    schoolb 1 0 2
      

  4.   


    select school ,sum(case when status=1 then 1 else 0 end) 通过个数,sum(case when status=2 then 1 else 0 end)未通过个数,sum(case when status=0 then 1 else 0 end)待定个数
    from schoolTest 
    group by school;
      

  5.   

    schoolb中通过的有两个吧,我的结果是
    学校 通过个数 未通过个数 待定个数
    schoola 1 1 1
    schoola 2 1 0