MySQL根据出生日期查询年龄,以及对年龄进行分组统计
表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根据出生日期查询年龄,以及对年龄进行分组统计相关推荐
- MySql按周,按月,按日分组统计数据、日期计算。并统计环比、同比
MySql按周,按月,按日分组统计数据 <!-- 按日查询 --> SELECT DATE_FORMAT(created_date,'%Y-%m-%d') as time,sum(mone ...
- MySql按周,按月,按日分组统计数据
知识关键词:DATE_FORMAT select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case grou ...
- oracle复杂分组查询语句,oracle中的“复杂”分组统计sql
要求: 呼叫系统(Call Center)每天会有大量的电话进线数据,领导们要查看每天的进线数汇总,并且要求把 每天从上午8点到上午12点以及下午2点到晚上8点这两个时间段的数据汇总 "视& ...
- mysql group by 季度_sql server如何按季度分组统计所有的数据
展开全部 和按32313133353236313431303231363533e78988e69d8331333365663566月份组的原理是一样的吧! 按季度分组和按月分组的区别应该就是时间段的区 ...
- python操作数据库统计_python数据库-MySQL单表查询基本操作(50)
一.条件查询 1.查询的基本语法 select * from 表名; from关键字后面写表名,表示数据来源于是这张表 select后面写表中的列名,如果是*表示在结果中显示表中所有列 在select ...
- MySQL查询年龄最大学生信息_查询xsda表中年龄最大的学生的出生日期
[简答题]查询选修了202号课程并且成绩优秀的学生的姓名及成绩 [简答题]查找选修了"C语言程序设计"课程且学分取得5分的学生的姓名.课程名.学分和成绩 [简答题]查询未选修&qu ...
- mysql根据身份证号查 性别、年龄以及出生日期
mysql根据身份证号查性别.年龄以及出生日期 博客里面还有对应的java工具类:芜湖,起飞 这个身份证号也就只针对大陆身份证号 SELECT p.id,-- 这是根据身份证号求年龄 (YEAR(NO ...
- access查找出生日期年份_access查询最大年龄减最小年龄
access 查询最大年龄减最小年龄 [篇一: 2012 年计算机二级 access 上机试题及答案 (29) ] 1. 基本操作题 在考生文件夹下,存在一个数据库文件 "samp1.mdb ...
- 10-225 查询软件工程专业中年龄最大的同学姓名
分数 10 全屏浏览题目 切换布局 作者 张庆 单位 集美大学 本题目要求编写SQL语句, 查询软件工程专业中年龄最大的同学姓名. 提示:请使用SELECT语句作答. 表结构: 请在这里写定义表结构的 ...
最新文章
- springboot+shiro+cas实现单点登录之shiro端搭建
- 自动增加asp元件及onclick
- matlab-画个拱桥和倒影?
- 网络安全-XSS笔记
- UNIX网络编程读书笔记:辅助数据
- linux操作指令及根目录介绍
- 如何在MySQL中设置主从复制
- 四、物理优化(6)数据库引擎优化顾问
- Selenium定位不到元素的解决方法—iframe挡住了去路
- redis怎么开启_关于Redis数据库入门必备的学习点
- 【动态规划笔记】01背包问题及优化
- 四、ip classless与默认路由
- dsoframer.ocx java_DSOFramer.ocx 控件使用
- python爬虫之利用pyquery爬取当当网图书信息
- 图文详解Unity3D中Material的Tiling和Offset是怎么回事
- 牛!程序媛一口气拿下BAT、美团、vivo、爱奇艺等公司Offer面经总结
- c语言.jpg图片转成数组_AWTK——基于C语言开发的GUI框架,功能强大,支持跨平台同步开发...
- HTML学生个人网站作业设计:电影设计——爱影评在线电影(11页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
- 大平台压榨亏损2000万怎么办?换流量变现策略才是王道!
- linux忘记root密码的解决办法
热门文章
- k8s gc原理详解
- 筛选后系列填充_案例分享10——如何在筛选后的表格中粘贴数据(二)
- 年薪80万技术专家,面试通过后,被发现简历造假!合并8年前多段工作,惨遭警告和淘汰!
- ATECC508A芯片开发笔记(九):加密读写508芯片数据的流程及相应设置
- 音乐心理学 | 《聆听心声》笔记
- percona xtrabackup 之一 setup
- 我会安静的忘记你:伤感爱情空间日志
- 渗透测试实战指南笔记
- securecrt 8.1 7.3 注册机 使用步骤【转】
- 微表面模型Beckmann–Spizzichino distribution的概率密度函数推导