MySQL生成一个年龄金字塔

MySQL生成一个年龄金字塔,mysql,statistics,charts,Mysql,Statistics,Charts,如何编写适合生成年龄金字塔的查询,如下所示: 我有一个表,其中日期字段包含他们的生日,布尔字段包含性别(男=0,女=1)。任何一个字段都可以为空 我似乎不知道如何处理生日,并把它们分成10年一组 编辑: 理想情况下,X轴应为百分比而不是千:) -1在年龄上表示0-4,0表示4-14等 如果给定年龄组内没有人,此查询可能会留下空白 与百分比相同(来自总人口): 谢谢你的回答!不幸的是,年龄不起作用,它只返回0:S@Starlin:请发布您认为应该返回另一个值的示例记录 SELECT FLOOR

如何编写适合生成年龄金字塔的查询,如下所示:

我有一个表,其中日期字段包含他们的生日,布尔字段包含性别(男=0,女=1)。任何一个字段都可以为空

我似乎不知道如何处理生日,并把它们分成10年一组

编辑:

理想情况下,X轴应为百分比而不是千:)

-1
在年龄上表示
0-4
0
表示
4-14

如果给定年龄组内没有人,此查询可能会留下空白

与百分比相同(来自总人口):


谢谢你的回答!不幸的是,年龄不起作用,它只返回0:S@Starlin:请发布您认为应该返回另一个值的示例记录
SELECT  FLOOR((EXTRACT(YEAR FROM FROM_DAYS(DATEDIFF(NOW(), birthday))) - 4) / 10) AS age, gender, COUNT(*)
FROM    mytable
GROUP BY
        age, gender
SELECT  FLOOR((EXTRACT(YEAR FROM FROM_DAYS(DATEDIFF(NOW(), birthday))) - 4) / 10) AS age, gender,
        COUNT(*) /
        (
        SELECT  COUNT(*)
        FROM    mytable
        )
FROM    mytable
GROUP BY
        age, gender