第1个回答 2008-09-09
表infor
姓名 性别 id 工资 联系方式等等
性别列为insex 含check 约束('男' or '女')
那么查询为
select count(insex) as 员工总数, sum(decode(insex,'男',1,'女',0)) as 男员工数,sum(decode(insex,'男',1,'女',0))/count(insex) as 男所占比例,sum(decode(insex,'男',0,'女',1)) as 女员工数,
sum(decode(insex,'男',0,'女',1))/count(insex) as 女所占比例
from infor;
第2个回答 2008-09-09
declare @tmp table (xb int,cnt int)
insert into @tmp
select xb,count(*) from 员工档案
group by xb
declare @sum int;
select @sum=sum(cnt) from @tmp
select @sum sums,a.cnt mens,a.bl mensbl,b.cnt womens,b.bl womensbl
from
(select cnt,cnt*100.0/@sum bl from @tmp where xb='男') a,
(select cnt,cnt*100.0/@sum bl from @tmp where xb='女') b