select A,B,nvl(count(decode(c,11,1)),0) as 11的件数,nvl(count(decode(c,21,1)),0) as 21的件数,nvl(count(decode(c,31,1)),0) as 31的件数 from table group by A,B

解决方案 »

  1.   

    SELECT A,B
    SUM(CASE WHEN C=21 THEN 1 ELSE 0 END) AS  21的件數,
    SUM(CASE WHEN C=22 THEN 1 ELSE 0 END) AS  22的件數,
    SUM(CASE WHEN C=23 THEN 1 ELSE 0 END ) AS 23的件數
    FROM TAB
    GROUP BY A,B
      

  2.   

    不是啊,如果等于31的数据还要加上另外的条件,就是说等于31,而且这条数据还要另外在一个数据集里,decode不可以实现啊.还有别的方法吗.
      

  3.   

    decode里面嵌套应该就可以了。
      

  4.   

    不太明白这句话==========================================================================================
    不是啊,如果等于31的数据还要加上另外的条件,就是说等于31,而且这条数据还要另外在一个数据集里,decode不可以实现啊.还有别的方法吗.
    =========================================================================================另外一个数据集是哪个?
      

  5.   

    用lcg412的sql加上外连接就可以了