日期:2014-05-17  浏览次数:20453 次

请教一统计语句
现有表tab
gender(0:男1:女)
R1(是否月经初潮1:是)
R2(是否首次遗精1:是)
现要查询如下:
--总人数 女生人数 月经初潮人数  男生人数 首次遗精人数

另外想请教下,统计7-18岁
年龄 受检人数 女生人数 月经初潮人数 月经发生率 男生人数 首次遗精人数 首次遗精率
7
8
9
.
.
.
18
这样的有什么好的方法,谢谢

------解决方案--------------------
给点数据吧....
------解决方案--------------------
sorry,上面有点符号及字段错误

select age as 年龄,count(age) as 受检人数 ,
  sum(case when gender=1 then 1 else 0 end) 女生人数 ,
  sum(case when R1=1 then 1 else 0 end) 月经初潮人数,
  cast(cast (sum(case when R1=1 then 1 else 0 end)*100/((count(age)*1.0)) as float) as nvarchar)+'%' as 月经发生率,
  sum(case when gender=0 then 1 else 0 end) 男生人数 ,
  sum(case when R2=1 then 1 else 0 end) 首次遗精人数,
  cast(cast (sum(case when R2=1 then 1 else 0 end)*100/((count(age)*1.0)) as float) as nvarchar)+'%' as 首次遗精率 
  from tab where age>=7 and age<=18 group by age