怎样用SQL分别统计数据中性别为男和为女的人数.

解决方案 »

  1.   

    select count(*) from 表名 group by 性别
      

  2.   

    select count(性别) from 表名 group by 性别这样效率会高一些
      

  3.   

    怎么把统计的结果赋值跟两个EDIT;如男:5,女:4
      

  4.   

    select decode(性别,'男',人数,0) 男性人数,
           decode(性别,'女',人数,0) 女性人数
    from (select 性别,count(性别) 人数 from 表名 group by 性别)edit1.text := fieldByName('男性人数').AsString;
    edit2.text := fieldByName('女性人数').AsString;
      

  5.   

    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select decode(sex,"男",人数,0) 男性人数,decode(sex,"女",人数,0) 女性人数 from (select sex,count(sex) 人数 from ryb group by sex');
    adoquery1.Open;
    edit1.text :=adoquery1.fieldByName('男性人数').AsString;
    edit2.text :=adoquery1.fieldByName('女性人数').AsString;
      

  6.   

    adoqueyr1.sql.clear;
    adoquery1.sql.add('select sex,count(sex) 人数 from ryb group by sex');
    edit1.text :=adoquery1.fieldByName('男性人数').AsString;
    edit2.text :=adoquery1.fieldByName('女性人数').AsString;
    这样就可以了吧?不需要decode。
    不知道行不行学习。
      

  7.   

    from ryb group by sex');
    sex 后面少个)
    还有"男"应该用两个单引号,而不是一个双引号:''男''