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