ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 请教一个SQL的写法

请教一个SQL的写法

原创 Linux操作系统 作者:kingsun631 时间:2007-11-13 18:17:31 0 删除 编辑
表 t1  如下:


AA               BB
------------       ---------------
001                  1
001                  0
001                  1
001                  1
002                  0
002                  1
002                  0

目的是想统计出如下的结果:(含义想统计出相同AA列中1的个数和0的个数,不知表达清楚没有)
  
  AA                 BB1                  BB0
-----------------      --------------        -----------------
  001                 3                    1
    002                 1                    2








可以得出结论的写法:
> select AA,sum(case when BB=1 then 1 else 0 end) BB1,sum(case when BB=0 then 1 else 0 end) BB0  from  T1 group by  AA;

我的写法:
>select a.AA,count(a.BB) BB1,count(b.BB) BB0 from t1 a,t1 b
  where a.BB=1 and b.BB=0
  group by  a.AA;

我的写法得不到正确结论,不知道是什么原因,还请大侠们指点一下

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7316690/viewspace-201725/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-02-14

  • 博文量
    51
  • 访问量
    65089