a        b
1  0        3 
2  0        2
3  1        2
4  2        4想用一个语句查询 a=0 时有几个记录,a=1时有几个记录,=2时有几个记录,
我写的sql 很笨,求帮助解答些不胜感激

解决方案 »

  1.   


    select a,count(b) c_b
    from tb1
    group by a
      

  2.   

    用一个外连接即可搞定,思路:先找到要显示的a,再用a左外连接你的group语句,找到最终结果
    SELECT   t2.rn, NVL (t1.acount, 0) acount
      FROM   (  SELECT   a, COUNT (a) acount
                  FROM   tb1
              GROUP BY   a) t1,
             (    SELECT   ROWNUM rn
                                       FROM   DUAL
                                 CONNECT BY   ROWNUM <= 3) t2
     WHERE   t1.a(+) = t2.rn