select sum(case 学历 when 1 then 1 else 0 end ) 小学 ,
       sum(case 学历 when 2 then 1 else 0 end ) 初中  ,
       sum(case 学历 when 3 then 1 else 0 end ) 高中  ,
       sum(case 学历 when 4 then 1 else 0 end ) 中专
from table1

解决方案 »

  1.   

    select sum(decode(学历,1,1,0)) 小学,sum(decode(学历,2,1,0)) 初中,sum(decode(学历,3,1,0)) 高中,sum(decode(学历,4,1,0)) 中专
    from tbname ;
      

  2.   

    SQL> select * from t2;       ID
    ---------
            1
            1
            2
            3
            3
            3
            4已选择7行。SQL> select sum(decode(id,1,1,0)) 小学,sum(decode(id,2,1,0)) 初中,sum(decode(id,3,1,0)) 高中,sum(dec
    ode(id,4,1,0)) 中专
      2  from t2;     小学      初中      高中      中专
    --------- --------- --------- ---------
            2         1         3         1
      

  3.   

    sorry , above is SQL server version:oracle versionselect sum(decode 学历 , 1 , 0  ) 小学 ,
           sum(decode 学历 , 2 , 0  ) 初中  ,
     sum(decode 学历 , 3 , 0  ) 高中  ,
     sum(decode 学历 , 4 , 0  ) 中专
    from table1
      

  4.   

    select sum(decode (学历 , 1 , 0 ) ) 小学 ,
           sum(decode( 学历 , 2 , 0 ) ) 初中  ,
     sum(decode (学历 , 3 , 0 ) ) 高中  ,
     sum(decode (学历 , 4 , 0 ) ) 中专
    from table1