MySQL转换字符串到日期按年龄计算年龄和顺序

时间:2013-09-25 16:27:59

标签: mysql sql

我正在尝试编写一个mysql查询,它将字符串转换为日期,然后计算年龄,然后按年龄计算年龄和组。

我有字符串到目前为止并计算年龄查询:

SELECT YEAR(CURRENT_TIMESTAMP) - YEAR(STR_TO_DATE( birthday,  '%m/%d/%Y' )) - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(STR_TO_DATE( birthday,  '%m/%d/%Y' ), 5)) as age 
  FROM `persons`

但我无法计算和按年龄分组。有谁可以帮助我?

1 个答案:

答案 0 :(得分:1)

SELECT  EXTRACT(YEAR FROM (FROM_DAYS(DATEDIFF(NOW(),STR_TO_DATE(birthday, '%m/%d/%Y'))))) + 0 age,
        COUNT(*) TotalCount
FROM    tableNAme
GROUP   BY EXTRACT(YEAR FROM (FROM_DAYS(DATEDIFF(NOW(),STR_TO_DATE(birthday, '%m/%d/%Y'))))) + 0
ORDER   BY TotalCount DESC