select count(decode(a,1,1)),count(decode(a,2,1)),count(decode(a,3,1)),count(decode(a,1,0,2,0,3,0,1)) from tab_name;

解决方案 »

  1.   

    select sum(decode(a,1,1,0)),sum(decode(a,2,1,0)),sum(decode(a,3,1,0)),... from table_name;
      

  2.   

    select a,count(a) from table group by a ;
    不知道对不对,大家指正:)
      

  3.   

    select a,count(a) from table group by a ;这条语句就可以实现 a的所有值的记录数了呀,不用那么复杂了吧。如果是有选择性的几个值,1,2楼的就ok啦
      

  4.   

    ='1'  ='2'   ='3'   =elseselect 
        count(decode(a,'1',1)) 等1的数目,
        count(decode(a,'2',1)) 等2的数目,
        count(decode(a,'3',1)) 等3的数目,
        count(decode(a.'1',0,'2',0,'3',0,1) 其他的数目
    from 
        table
      

  5.   

    select a,count(a) from table group by a ;
    这样就ok了,不用那么复杂容易出错的
      

  6.   

    select a,count(a) from table group by a
    这并不能实现楼主的要求阿。 dinya2003(OK)写得巧妙
      

  7.   

    select 
      count(decode(a,'1',1)),
      count(decode(a,'2',1)),
      count(decode(a,'3',1)),
      count(decode(a,'1',null,'2',null,'3',null,1)) 
    from tab_name;
      

  8.   

    select 
        sum(decode(a,'1',1)),
        sum(decode(a,'2',1)),
        sum(decode(a,'3',1)),
        sum(decode(a,'1',0,'2',0,'3',0,1))
    from 
        table
      

  9.   

    select 
        sum(decode(a,'1',1)),
        sum(decode(a,'2',1)),
        sum(decode(a,'3',1)),
        sum(decode(a,'1',0,'2',0,'3',0,1))
    from 
        table
    大家这样写是不是楼主想要的?“所有其它值的记录条数”是指把除过为1,2,3的归为一类呢还是表示还有4,5,6,7,8......,那我想这样就不行了,不过dinya2003(OK)兄弟的确写的很精妙,佩服!