1、精确到某一天
SELECT NAME, COUNT(NAME) AS VALUE FROM ( SELECT CASE WHEN age < 20 THEN '19岁及以下' WHEN age <= 29 THEN '20-29岁' WHEN age <= 39 THEN '30-39岁' WHEN age <= 49 THEN '40-49岁' ELSE '50岁及以上' END AS NAME FROM ( select TIMESTAMPDIFF(YEAR,p.birthday,CURDATE()) AS age from ipms_person p WHERE p.birthday is not NULL ) t )t GROUP BY NAME
SELECT NAME, COUNT(NAME) AS VALUE FROM ( SELECT CASE WHEN age < 20 THEN '19岁及以下' WHEN age <= 29 THEN '20-29岁' WHEN age <= 39 THEN '30-39岁' WHEN age <= 49 THEN '40-49岁' ELSE '50岁及以上' END AS NAME FROM ( select DATE_FORMAT(NOW(),'%Y') -substr(p.birthday,1,4) AS age from ipms_person p WHERE p.birthday is not NULL ) t )t GROUP BY NAME