2014-04-09 81 views
0

我正在計算我的用戶在MySQL中的年齡,並且遇到了一些小問題。我能夠成功計算每個用戶的年齡,但是,當我嘗試統計每個年齡段的用戶數時,即遇到問題時。這是我的查詢:MySQL查詢計算年齡組用戶數

SELECT COUNT(user_id) AS "Number of Users", 
      YEAR(CURDATE()) - 
      YEAR(STR_TO_DATE(birth_date, '%m/%d/%Y')) - 
      (RIGHT(CURDATE(), 5) < RIGHT(STR_TO_DATE(birth_date, '%m/%d/%Y'), 5)) 
      AS Age 
    FROM user 
GROUP BY Age 

我覺得我很接近,它只是不適合我。我如何計算每個年齡組的用戶數量?

+1

化名年齡? –

+0

我很抱歉,但我不明白你在問什麼。你能澄清一下嗎?謝謝 – three3

+0

你能爲這個 –

回答

1

你需要一個子查詢來訪問計算列在您使用的年齡組是什麼Group By條款

SELECT Age,COUNT(user_id) AS "Number of Users" 

FROM 
(
    SELECT userid, 
      YEAR(CURDATE()) - 
      YEAR(STR_TO_DATE(birth_date, '%m/%d/%Y')) - 
      (RIGHT(CURDATE(), 5) < RIGHT(STR_TO_DATE(birth_date, '%m/%d/%Y'), 5)) 
      AS Age 
    FROM user 
) as Z 
GROUP BY Age 
+0

非常感謝! – three3