select decode(性别,'男',人数,0) 男性人数, decode(性别,'女',人数,0) 女性人数 from (select 性别,count(性别) 人数 from 表名 group by 性别)edit1.text := fieldByName('男性人数').AsString; edit2.text := fieldByName('女性人数').AsString;
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;
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。 不知道行不行学习。
from ryb group by sex'); sex 后面少个) 还有"男"应该用两个单引号,而不是一个双引号:''男''
decode(性别,'女',人数,0) 女性人数
from (select 性别,count(性别) 人数 from 表名 group by 性别)edit1.text := fieldByName('男性人数').AsString;
edit2.text := fieldByName('女性人数').AsString;
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;
adoquery1.sql.add('select sex,count(sex) 人数 from ryb group by sex');
edit1.text :=adoquery1.fieldByName('男性人数').AsString;
edit2.text :=adoquery1.fieldByName('女性人数').AsString;
这样就可以了吧?不需要decode。
不知道行不行学习。
sex 后面少个)
还有"男"应该用两个单引号,而不是一个双引号:''男''