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

查询数据库

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年

总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值