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