您现在的位置是:网站首页> 编程资料编程资料

Mysql出生日期转换为年龄并分组统计人数的方法示例_Mysql_

2023-05-27 362人已围观

简介 Mysql出生日期转换为年龄并分组统计人数的方法示例_Mysql_

查询数据库

 SELECT * FROM `student` 

查询结果

idnamebirthday
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` 

查询结果

dnamebirthadyage
1张三1970-10-0150
2李四1990-10-0130
3王五2002-10-0118
4马六2003-10-0117

然后按照年龄段进行分组

 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 

查询结果

idsnamesagecount
1张三中年1
4马六少年1
2,3李四,王五青年2

tips:当前时间是2020年

总结

到此这篇关于Mysql出生日期转换为年龄并分组统计人数的文章就介绍到这了,更多相关Mysql出生日期转年龄并分组统计内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

-六神源码网