表stu数据如下

1. 根据出生日期查询年龄

SELECT TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())  AS age FROM stu;

返回结果:

函数DATE():提取日期或日期/时间表达式的日期部分;

函数CURDATE():返回当前的日期;

函数TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2):计算两个日期的时间差,unit是计算时间差的单位,可以是SECOND秒、MINUTE分钟、HOUR小时、DAY天、WEEK星期、MONTH月、QUARTER季度、YEAR年。

2.对年龄进行分组统计

1)case 结构

SELECT年龄段,count(*) 人数
FROM(SELECTCASE     WHEN TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())<20 THEN   '20岁以下' WHEN TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) >= 20 AND TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) <= 22 THEN '20-22岁' WHEN TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) >= 23 AND TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) <= 25 THEN    '23-25岁' WHEN TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())>25 THEN '25岁以上' else '未知'END AS 年龄段FROM stu    ) AS a
GROUP BY 年龄段;

2)if结构

SELECT年龄段,count(*) 人数
FROM
(SELECTIF(TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())<20,'20岁以下',IF(TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())>= 20 AND TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) <= 22,'20-22岁',IF(TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())>= 23 AND TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) <= 25,'23-25岁',IF(TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())>25,'25岁以上','未知'))))AS 年龄段FROM stu
)AS a
GROUP BY 年龄段;

返回结果:

MySQL根据出生日期查询年龄,以及对年龄进行分组统计相关推荐

  1. MySql按周,按月,按日分组统计数据、日期计算。并统计环比、同比

    MySql按周,按月,按日分组统计数据 <!-- 按日查询 --> SELECT DATE_FORMAT(created_date,'%Y-%m-%d') as time,sum(mone ...

  2. MySql按周,按月,按日分组统计数据

    知识关键词:DATE_FORMAT select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case grou ...

  3. oracle复杂分组查询语句,oracle中的“复杂”分组统计sql

    要求: 呼叫系统(Call Center)每天会有大量的电话进线数据,领导们要查看每天的进线数汇总,并且要求把 每天从上午8点到上午12点以及下午2点到晚上8点这两个时间段的数据汇总 "视& ...

  4. mysql group by 季度_sql server如何按季度分组统计所有的数据

    展开全部 和按32313133353236313431303231363533e78988e69d8331333365663566月份组的原理是一样的吧! 按季度分组和按月分组的区别应该就是时间段的区 ...

  5. python操作数据库统计_python数据库-MySQL单表查询基本操作(50)

    一.条件查询 1.查询的基本语法 select * from 表名; from关键字后面写表名,表示数据来源于是这张表 select后面写表中的列名,如果是*表示在结果中显示表中所有列 在select ...

  6. MySQL查询年龄最大学生信息_查询xsda表中年龄最大的学生的出生日期

    [简答题]查询选修了202号课程并且成绩优秀的学生的姓名及成绩 [简答题]查找选修了"C语言程序设计"课程且学分取得5分的学生的姓名.课程名.学分和成绩 [简答题]查询未选修&qu ...

  7. mysql根据身份证号查 性别、年龄以及出生日期

    mysql根据身份证号查性别.年龄以及出生日期 博客里面还有对应的java工具类:芜湖,起飞 这个身份证号也就只针对大陆身份证号 SELECT p.id,-- 这是根据身份证号求年龄 (YEAR(NO ...

  8. access查找出生日期年份_access查询最大年龄减最小年龄

    access 查询最大年龄减最小年龄 [篇一: 2012 年计算机二级 access 上机试题及答案 (29) ] 1. 基本操作题 在考生文件夹下,存在一个数据库文件 "samp1.mdb ...

  9. 10-225 查询软件工程专业中年龄最大的同学姓名

    分数 10 全屏浏览题目 切换布局 作者 张庆 单位 集美大学 本题目要求编写SQL语句, 查询软件工程专业中年龄最大的同学姓名. 提示:请使用SELECT语句作答. 表结构: 请在这里写定义表结构的 ...

最新文章

  1. springboot+shiro+cas实现单点登录之shiro端搭建
  2. 自动增加asp元件及onclick
  3. matlab-画个拱桥和倒影?
  4. 网络安全-XSS笔记
  5. UNIX网络编程读书笔记:辅助数据
  6. linux操作指令及根目录介绍
  7. 如何在MySQL中设置主从复制
  8. 四、物理优化(6)数据库引擎优化顾问
  9. Selenium定位不到元素的解决方法—iframe挡住了去路
  10. redis怎么开启_关于Redis数据库入门必备的学习点
  11. 【动态规划笔记】01背包问题及优化
  12. 四、ip classless与默认路由
  13. dsoframer.ocx java_DSOFramer.ocx 控件使用
  14. python爬虫之利用pyquery爬取当当网图书信息
  15. 图文详解Unity3D中Material的Tiling和Offset是怎么回事
  16. 牛!程序媛一口气拿下BAT、美团、vivo、爱奇艺等公司Offer面经总结
  17. c语言.jpg图片转成数组_AWTK——基于C语言开发的GUI框架,功能强大,支持跨平台同步开发...
  18. HTML学生个人网站作业设计:电影设计——爱影评在线电影(11页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  19. 大平台压榨亏损2000万怎么办?换流量变现策略才是王道!
  20. linux忘记root密码的解决办法

热门文章

  1. k8s gc原理详解
  2. 筛选后系列填充_案例分享10——如何在筛选后的表格中粘贴数据(二)
  3. 年薪80万技术专家,面试通过后,被发现简历造假!合并8年前多段工作,惨遭警告和淘汰!
  4. ATECC508A芯片开发笔记(九):加密读写508芯片数据的流程及相应设置
  5. 音乐心理学 | 《聆听心声》笔记
  6. percona xtrabackup 之一 setup
  7. 我会安静的忘记你:伤感爱情空间日志
  8. 渗透测试实战指南笔记
  9. securecrt 8.1 7.3 注册机 使用步骤【转】
  10. 微表面模型Beckmann–Spizzichino distribution的概率密度函数推导