Mysql根据出生日期查询年龄,并分组


根据生日查询出生日期:

SELECT(YEAR (curdate())- YEAR ( birthday )- 1+ (DATE_FORMAT( birthday, '%m%d' )<=(DATE_FORMAT( curdate(), '%m%d' )))) age FROM t_member

 

分组

SELECT (CASE
WHEN a.age IS NULL THEN ‘未知’
WHEN a.age BETWEEN 0 AND 18 THEN0-18岁’
WHEN a.age BETWEEN 18 AND 30 THEN18-30岁’
WHEN a.age BETWEEN 31 AND 45 THEN30-45岁’
WHEN a.age >= 45 THEN ‘45岁以上’
END) AS name,
COUNT(*) ‘value’ FROM
(SELECT(YEAR (curdate())- YEAR ( birthday )- 1+ (DATE_FORMAT( birthday, ‘%m%d’ )<=(DATE_FORMAT( curdate(), ‘%m%d’ )))) age FROM t_member) a GROUP BY name

 


在这里插入图片描述

查询结果:

在这里插入图片描述


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM