有这么一张表,
表名test,有如下三个字段
 
 id     type       category 
 1      不合格       电器
 2      不确定       电器
 3      不确定       手机
 4      合格         手机
 5      合格         飞机
 6      不确定       飞机
 7      合格         飞机
 
 要生成如下形式报表
           合格   不合格  不确定
手机        1        0      1
电器        0        1      1
飞机        2        0      1
总数        3        1      3请用一条sql语句完成 但是这样的sql应该和你所列出来的应该不是一回事阿!请高手指点!

解决方案 »

  1.   

    用group by ,decode,sum...差不多可以实现
      

  2.   

    select nvl(category,'总数')category,count(decode(type,'合格',id))"合格" 
    from test
    group by rollup(category)
    /
      

  3.   

    select nvl(category,'总数'),sum(decode(type,'合格',1,0)) "合格",
    sum(decode(type,'不合格',1,0)) "不合格",
    sum(decode(type,'不确定',1,0)) "不确定"
    from a_Decode
    group by rollup(category)
      

  4.   

    stone1126(刘妈妈的宝宝):
         谢谢你回复我的问题,不过你的sql我执行后,在group by rollup(category)的“(“这里报错,说无效的标示符category。                            jdsnhan(柳荫凉) :
         也谢谢你回复我的问题,你的sql我执行后,在rollup(category)前说“无效的sql语句”,不知道是怎么回事!     请各位高手再指点!                                                                         祥子