select sum(case sex when 1 then 1 else 0 end) as man,
sum(case sex when 0 then 1 else 0 end) as woman 
from aa

解决方案 »

  1.   

    select a.man,b.woman from (Select count(*) as man from aa
    where Sex=0) as a,(select count(*) as woman from aa
    where Sex=1 ) as b
      

  2.   

    你想统计男女人数吧?使用group byselect [sex],count(name) 人数 from aa group by sex
      

  3.   

    aa:Name sex  Age
    a     0   20
    b     1   30
    c     0   20
    d     0   30请问如何在一条语句实现统计sex=0和age=20各有多少人?
      

  4.   

    SELECT 'SEX=0' AS TYPE ,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0
    UNION SELECT 'AGE=20' AS TYPE,COUNT(*) AS QUANTITY WHERE AGE=20
      

  5.   

    不好意思写漏了一个 FROM AA
    用UNION可以实现的。SQL 帮助多看看吧,很多东西都可以查到的。
      

  6.   

    SELECT 'SEX=0' AS TYPE ,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0?
    可以这样吗?数据不对,
    应该是这样吧
    SELECT SEX,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0 group by sex
    但这样不能union了
      

  7.   

    你用UNION 就不需要GROUP BY 了。UNION的用法就是列数目要一样。而且像你这样写法也是没必要的SELECT SEX,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0 group by sex,GROUP BY,如果那个WHERE 条件不要的话,可以使用GROUP BY,意思就是求出SEX=1 和SEX=0 的数目各有几个。而你现在已经知道SEX是等于0了所以GROUP BY 可以省略,因为没必要再分组了。
      

  8.   

    还是没弄明白怎么搞,是不是
    select count(*) from aa where sex=0
    union
    select count(*) from aa where age=20
      

  9.   

    你这样也行呀,不过结果集出来就不知道到底哪一行是SEX=0的,AGE=20的了。所以可以在前面多加一列注明一下。
    如果要把两列分列出来,可以用CASE
      

  10.   

    select sum(case when sex=0 then 1 else 0 end) man,sum(case when sex=1 then 1 else 0 end) woman from aa
      

  11.   

    pengdali没有完全理解我的意思,我是想同时查出sex=0和age=20分别有多少人啊?能不能一条语句实现
    aa:Name sex  Age
    a     0   20
    b     1   30
    c     0   20
    d     0   30请问如何在一条语句实现统计sex=0和age=20各有多少人?
      

  12.   

    to rion10()  ,我不是已经帮你解决了吗?快结帐吧
      

  13.   

    我这边还是不行啊,
    SELECT 'SEX=0' AS TYPE ,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0
    UNION SELECT 'AGE=20' AS TYPE,COUNT(*) AS QUANTITY WHERE AGE=20
    还是出错
      

  14.   

    select count(sex),count(age) from aa where sex=0 or age=20
      

  15.   

    select count(sex),count(age) from aa where sex=0 or age=20??这也可以?
    忘说了,我的是mysql,不支持SELECT 'SEX=0' AS TYPE ,COUNT(*) AS QUANTITY FROM AA WHERE SEX=0
    UNION SELECT 'AGE=20' AS TYPE,COUNT(*) AS QUANTITY WHERE AGE=20
      

  16.   

    將大力的略做修改
    select sum(case when sex=0 then 1 else 0 end) man,sum(case when age>20 then 1 else 0 end) per from aa
      

  17.   

    如果查询生成的两个表结构一样,用union好了。