分可以和另外一个帖子一起接数据库是 MySql 的 传入参数为 ids 串(如1,52,53...),起始日期(字符串型:2008-12-09),终止日期(字符串型:2009-01-01) 有表 uc_class, 对应字段 classid(int型),schoolid(int 型)(对应传入的ids中的一个) 有表 uc_relation 对应字段为uid(int型),groupid(int型) 和aclevel(int型), 如果aclevl = 99, 那么groupid 就是 classid 有表 TB_app_SportInfo,对应字段为 bid,fmonth(double),检查日期(datatime型),评价(字符串型,
内容包含【注意是包含】有‘优秀’‘良好’‘合格’‘不合格’) 希望通过传入的ids,起始日期、终止日期(检查日期在这两者之间) 得到fmonth 分别在 3岁以下
3-3.5岁
3.5到4岁
4到4.5岁
4.5到5岁
5到5.5岁
5.5到6岁
6岁以上 这几个阶段中 优秀、良好、合格、不合格的人数有多少,比率是多少
结果就是利用传入的ids 得到这些ids下的全部classid的编号串 利用classid 编号串和aclevel = 99 得到 uid 编号串 利用uid 编号串 和 起始日期,终止日期得到 满足条件的记录 在满足条件的记录中根据 fmonth 进行统计和 计算
结果不能贴图,所以只能文字大致如下:
年龄段 3岁以下 15人 15%
3到3.5岁 20人 20%
3.5到4岁 30人 30%
4到4.5岁 10人 10%
4.5到5岁 5 人 5%
5到5.5岁 5人 5%
5.5到6岁 10人 10%
6岁以上 5人 5%
内容包含【注意是包含】有‘优秀’‘良好’‘合格’‘不合格’) 希望通过传入的ids,起始日期、终止日期(检查日期在这两者之间) 得到fmonth 分别在 3岁以下
3-3.5岁
3.5到4岁
4到4.5岁
4.5到5岁
5到5.5岁
5.5到6岁
6岁以上 这几个阶段中 优秀、良好、合格、不合格的人数有多少,比率是多少
结果就是利用传入的ids 得到这些ids下的全部classid的编号串 利用classid 编号串和aclevel = 99 得到 uid 编号串 利用uid 编号串 和 起始日期,终止日期得到 满足条件的记录 在满足条件的记录中根据 fmonth 进行统计和 计算
结果不能贴图,所以只能文字大致如下:
年龄段 3岁以下 15人 15%
3到3.5岁 20人 20%
3.5到4岁 30人 30%
4到4.5岁 10人 10%
4.5到5岁 5 人 5%
5到5.5岁 5人 5%
5.5到6岁 10人 10%
6岁以上 5人 5%
两者之间的差别大吗?能用sql 帮我写一个吗,辛苦
主要用到 case when then else end
fmonth,
sum(case when fmonth when fmonth then 1 else 0 end) as 人数,
.....
ltrim(count(1)*100*1.0/(select count(1) from tb))+'%' as 比率
from
tb
group by
fmonth
通过
select * from tb_app_sportinfo where babyid in (select uid from uc_relation where aclevel = 99 and groupid in
(select classid from uc_class where schoolid in (52,53)) )
and f_month >= 36 and f_month < 42
and 检查日期 >= '2009-06-19' and 检查日期 <= '2009-12-30';可以得到数据集,就是不知如何在该数据集上得到统计结果,谢谢
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。