您的位置:首页 > 数据库 > > 正文

mysql统计下个月过生日的人数(Mysql出生日期转换为年龄并分组统计人数的方法示例)

更多 时间:2022-04-02 10:26:19 类别:数据库 浏览量:1303

mysql统计下个月过生日的人数

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

查询数据库

  • ?
  • 1
  • SELECT * FROM `student`
  • 查询结果

    id name birthday
    1 张三 1970-10-01
    2 李四 1990-10-01
    3 王五 2002-10-01
    4 马六 2003-10-01

    转换为年龄的查询语句,使用函数TIMESTAMPDIFF

  • ?
  • 1
  • 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

    然后按照年龄段进行分组

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 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出生日期转年龄并分组统计内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!

    原文链接:https://blog.csdn.net/weixin_45121502/article/details/109486301

    您可能感兴趣