3
如何编写适合于产生年龄金字塔这样的查询: MySQL的生成年龄金字塔
我有一个包含自己的生日和含有性别布尔字段(男日期字段的表= 0,女= 1)。任何一个字段都可以是NULL。
我似乎无法弄清楚如何处理生日,并把它们分成10年的小组。
编辑:
理想情况下,X轴是百分比,而不是成千上万的:)
如何编写适合于产生年龄金字塔这样的查询: MySQL的生成年龄金字塔
我有一个包含自己的生日和含有性别布尔字段(男日期字段的表= 0,女= 1)。任何一个字段都可以是NULL。
我似乎无法弄清楚如何处理生日,并把它们分成10年的小组。
编辑:
理想情况下,X轴是百分比,而不是成千上万的:)
SELECT FLOOR((EXTRACT(YEAR FROM FROM_DAYS(DATEDIFF(NOW(), birthday))) - 4)/10) AS age, gender, COUNT(*)
FROM mytable
GROUP BY
age, gender
年龄-1
意味着0-4
,0
意味着4-14
等
此查询,如果可能留下空白在特定年龄组内没有人。
与百分比相同(从总人口):
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
谢谢您的回答! Unfortunatley的年龄不起作用,它只返回0:S – Starlin 2010-10-05 14:24:13
@Starlin:请发布一个你认为应该返回另一个值的样本记录 – Quassnoi 2010-10-05 14:24:57
你说得对,我的错误:) – Starlin 2010-10-05 14:31:32