需求:统计不同年龄区间的男女人数,比如0-9岁之间、10-19、20-29、30-39……每个年龄段中男女人数分别是多少。

实现:使用mysql中的interval函数。

interval(a,a1,a2,a3,a4)

其中第一个参数a为要做比较的值,a2以及a2之后的参数为条件参数。当a为null的时候,返回-1。当a<a1的时候返回0,a<a2的时候返回1,a<a3的时候返回2,以此类推。需要注意的是,条件参数必须是以小到大的方式排列。

此时,就可以进行统计分组了,写法为:

select interval(年龄字段,10,20,30,40,50,60,70,80,90,100) as ageRange  ,sum(case when 性别字段 = 1 then 1 else 0 end) as man,            //求男性人数   性别字段=1表示男性,当性别字段中的值为1时man+1sum(case when 性别字段 = 0 then 1 else 0 end) as madam           //求女性人数from 表名where 条件group by ageRange                                               //根据年龄段进行分组

实例:

                SELECTINTERVAL(patientAge,10,20,30,40,50,60,70,80,90)ASageRange,SUM(CASE WHEN patientSex=1 THEN 1 ELSE 0 END)ASappointmentNumM,SUM(CASE WHEN patientSex=0 THEN 1 ELSE 0 END)ASappointmentNumFFROMt_appointmentWHERE1=1GROUP BY ageRangeLIMIT1,10

结果为:

此时,年龄区间为0-9岁(ageRange为0的统计结果)的男性有406人,女性为380人;10-19之间(ageRange为1的统计结果)的男性213人,女性99人,20-29之间(ageRange为2的统计结果)的男性269人,女性241人等等。。

mysql按照年龄区间分组查询相关推荐

  1. java中mysql分组查询_ES对应mysql的group by分组查询javaApi,多对多关系的分组查询...

    ES对应mysql的group by分组查询javaApi,多对多关系的分组查询 比如我这边有个下列订单索引数据,现在的需求是按用户(fmerchantId)和支付方式(fchannelId)进行分组 ...

  2. mysql 年龄段分组_SQL语句查询年龄分段分组查询

    此情况用于数据库中没有"年龄"这个字段,只有"出生日期"这个字段.先计算出"年龄",在分组查询. 1.SELECT *, ROUND(DAT ...

  3. mysql分组函数按月份差,学习猿地-mysql如何按月份分组查询

    mysql按月份分组查询的方法:根据format字符串格式化date值,语法为[DATE_FORMAT(date,format)],其中[%M ]为月的名字. mysql按月份分组查询的方法:sele ...

  4. MySQL 聚合函数 和 分组查询(初级)

    聚合函数用于对一组值进行计算并返回一个汇总值,使用聚合函数可以统计记录行数.计算某个字段值的总和以及这些值的最大值.最小值和平均值等. 函数名称 功能 sum 返回选取的某列值的总和 max 返回选取 ...

  5. MySQL使用group by分组查询每组最新的一笔数据

    问题来源 今天遇到一个查询数据库数据的问题:要获取每个分组最新的一笔数据,并将每个分组最新的一笔数据重新组成一个新的列表 这种场景,当然是想到了分组查询,使用 group by,思路也很清晰: 将所有 ...

  6. mysql 如何时间分组,mysql如何按时间分组查询

    mysql按时间分组查询的方法: DATE_FORMAT(date,format):函数用于以不同的格式显示日期/时间数据. 参数: date:表中时间类型的字段名称. format:时间输出格式. ...

  7. MySQL(七)—— 分组查询

    MySQL数据库系列内容的学习目录→\rightarrow→老杜带你学MySQL学习系列内容汇总. 7. 分组查询 7.1 group by 7.2 having 7.3 select 语句总结 7. ...

  8. SQL语句查询年龄分段分组查询

    此情况用于数据库中没有"年龄"这个字段,只有"出生日期"这个字段.先计算出"年龄",在分组查询. 1.SELECT *, ROUND(DAT ...

  9. mysql多表左联分组查询

    在做项目的时候需要实现一个多表左联加分组查询的逻辑. 下图是前端要显示的数据: 数据来源于三张表: ETC表:cap_etc 车辆表:cap_vehicle ETC消费表:cap_etc_record ...

最新文章

  1. R Learnilng 十八讲7-12
  2. 2400门课:MIT开放迄今最全CS+电气工程课程
  3. timer.schedule —— timer定时器的用法
  4. mysql binlog 二进制_二进制日志-mysqlbinlog工具的使用
  5. Spring Boot MongoDB 入门
  6. 虚拟化 php性能测试,KVM的一些基准测试和性能测试数据分享
  7. 关于局部变量表slot的理解
  8. Android 系统性能优化(30)---Android性能全面分析与优化方案研究
  9. 如果使用Node.js不存在该如何创建目录?
  10. 全国计算机等级考试二级cpp试题,全国高校计算机等级考试(二级C)模拟试题全套.doc...
  11. Ubuntu运行中文识别CHINESE
  12. 中国历史上的牛顿+巴顿新解
  13. LabVIEW FPGA PCIe开发讲解-7.2节:目前主流的4大Xilinx FPGA PCIe DMA通信IP核讲解
  14. x3g格式 3d打印_10款最受欢迎3D建模软件大搜罗!看看有没有你常用的软件?
  15. 实例:用C#.NET手把手教你做微信公众号开发(19)--使用微信支付转账到微信粉丝零钱账户
  16. 9、刷牛客网SQL题(三)
  17. [Mur-001] Mur源码分析之一
  18. 【机器人关节空间与笛卡尔空间示教】
  19. 软银集团董事长兼总裁孙正义演讲
  20. Spring Boot 2.X + Shiro 优雅解决 session 跨域问题

热门文章

  1. Python入门第3课——变量类型(只读课堂)
  2. 零信任的过去、现在和未来
  3. mysql数据库的主从同步(主服务器存在内网IP)
  4. 动漫美少女生成神器、猫的门禁...2019年十七大最佳机器学习项目 |年度盘点①...
  5. 单片机开发无线控制系列-单片机端代码实现
  6. 华兴数控g71外圆循环编程_数控车G71内外圆切削复合循环
  7. html中如何淡化背景图片,excel怎么去除背景图片
  8. SAP中文档管理用户需求与简要分析笔记
  9. Facebook like 按钮的语言设置
  10. 74LVC1G3157GW