MySql 下的统计用存储过程,请高手帮助,复杂   数据库是 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岁以上    这几个阶段中 优秀、良好、合格、不合格的人数有多少,比率是多少

解决方案 »

  1.   


    结果就是利用传入的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 server 写过,mysql无论如何都不行,请帮助
      

  2.   

    通过语句
    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)) );能检索出满足条件的数据集,就是统计部分该如何处理?在线等
      

  3.   

    没看懂你的需求 
    建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式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)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。