根據生日查詢出生日期:
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 THEN ‘0-18歲’ WHEN a.age BETWEEN 18 AND 30 THEN ‘18-30歲’ WHEN a.age BETWEEN 31 AND 45 THEN ‘30-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