利用Mysql实现将出生日期转换为年龄并统计人数
更新:HHH   时间:2023-1-7


本篇文章给大家分享的是有关利用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

以上就是利用Mysql实现将出生日期转换为年龄并统计人数,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注天达云行业资讯频道。

返回开发技术教程...