Mysql出生日期转换为年龄并分组统计人数的方法示例
作者:a little rookie 时间:2024-01-14 14:58:03
查询数据库
SELECT * FROM `student`
查询结果
id | name | birthday |
---|---|---|
1 | 张三 | 1970-10-01 |
2 | 李四 | 1990-10-01 |
3 | 王五 | 2002-10-01 |
4 | 马六 | 2003-10-01 |
转换为年龄的查询语句,使用函数TIMESTAMPDIFF
SELECT id, name, birthday, TIMESTAMPDIFF(YEAR,student.birthday,CURDATE()) as age FROM `student`
查询结果
d | name | birthady | age |
---|---|---|---|
1 | 张三 | 1970-10-01 | 50 |
2 | 李四 | 1990-10-01 | 30 |
3 | 王五 | 2002-10-01 | 18 |
4 | 马六 | 2003-10-01 | 17 |
然后按照年龄段进行分组
SELECT
GROUP_CONCAT(a.id) as ids,
GROUP_CONCAT(a.name) as names,
CASE
WHEN a.age<18 THEN '少年'
WHEN a.age>=18 AND a.age< 40 THEN '青年'
WHEN a.age>=40 AND a.age< 60 THEN '中年'
END as age,
count(a.id) as count
FROM
(SELECT id, name, birthday, TIMESTAMPDIFF(YEAR,student.birthday,CURDATE()) as age FROM `student`) as a
GROUP BY
CASE
WHEN a.age<18 THEN '少年'
WHEN a.age>=18 AND a.age< 40 THEN '青年'
WHEN a.age>=40 AND a.age< 60 THEN '中年'
END
查询结果
ids | names | age | count |
---|---|---|---|
1 | 张三 | 中年 | 1 |
4 | 马六 | 少年 | 1 |
2,3 | 李四,王五 | 青年 | 2 |
tips:当前时间是2020年
来源:https://blog.csdn.net/weixin_45121502/article/details/109486301
标签:mysql,出生日期,年龄
0
投稿
猜你喜欢
Javascript HTML5 Canvas实现的一个画板
2024-04-10 10:39:36
在Docker上开始部署Python应用的教程
2023-11-13 12:38:37
python中为main方法传参问题
2023-05-20 04:48:12
python爬虫面试宝典(常见问题)
2023-02-27 19:46:01
js倒计时代码
2008-05-07 13:41:00
Python基于进程池实现多进程过程解析
2023-05-08 10:52:24
基于Python编写简易版的天天跑酷游戏的示例代码
2023-10-23 01:10:11
python 时间处理之月份加减问题
2023-11-08 01:05:42
详解Python中的Descriptor描述符类
2021-10-16 10:10:35
在ASP.NET 中实现单点登录
2024-05-03 15:31:17
Python中loguru日志库的使用
2023-03-02 13:24:27
Vue watch监听使用的几种方法
2024-05-09 15:08:40
Python画图工具Matplotlib库常用命令简述
2021-10-11 07:28:07
高考要来啦!用Python爬取历年高考数据并分析
2021-06-10 04:08:25
Vue状态管理库Pinia详细介绍
2024-05-09 15:11:43
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2021-10-19 18:40:40
python GUI计算器的实现
2021-11-30 01:00:53
python自定义线程池控制线程数量的示例
2022-12-25 15:16:13
python实现打砖块游戏
2023-11-09 21:27:15
Python + selenium 自动化测试框架详解
2021-01-15 00:06:35