我有一个包含数以千计成员记录的MySQL数据库。每个人都有一个生日,它是一个简单的字符串,如"2005-11-01“(yyyy-mm-dd)
我想查询数据库,了解我的会员的年龄。我很想看看我在数据库里每个年龄段都有多少会员。所以我想要一些类似这样的输出:
age count
--- -----
18 619
19 1321
20 15112
etc.
我该怎么做呢?(我很乐意用MySQL完成所有这些工作,但是如果更简单的话,我们可以添加一些PHP、Perl或Python )
发布于 2019-05-20 12:05:22
如果你也想关注闰年,可以试试这样的方法:
SELECT
YEAR(CURDATE())-YEAR(DOB) - (DATE_FORMAT(CURDATE(),'%M%D') < DATE_FORMAT(DOB,'%M%D')) `AGE`,
COUNT(*) `COUNT`
FROM YOURTABLE
GROUP BY AGE;
发布于 2019-05-19 23:24:32
你可以使用
SELECT TIMESTAMPDIFF(YEAR, '2005-11-01', CURDATE()) AS age , count(*)
FROM my_table
group by age ;
SELECT TIMESTAMPDIFF(YEAR, dob, CURDATE()) AS age , count(*)
FROM my_table
group by age ;
https://stackoverflow.com/questions/56209090
复制相似问题