希望你能幫助我!sql之間的年齡組通過
我有以下數據庫:
country | Date_of_birth
-----------------------
france | 1980-07-01
spain | 1978-03-23
greece | 1981-05-05
germany | 1974-08-11
我想要得到這樣的結果:
country | 13 - 17 | 25 - 45 | 65 - 75
-------------------------------------
france | | 1 |
spain | | 1 |
greece | | 1 |
查詢我想通了這一步:
SELECT SUM(IF(age BETWEEN 13 AND 17 , 1, 0)) AS '13 - 17',
SUM(IF(age BETWEEN 25 AND 45 , 1, 0)) AS '25 - 45',
SUM(IF(age BETWEEN 65 AND 75 , 1, 0)) AS '65 - 75'
FROM (SELECT TIMESTAMPDIFF(YEAR, Date_of_birth, CURDATE()) AS age, country FROM data
) AS test
GROUP BY country
HAVING country IN ("france","greece,"spain")
結果:
13 - 17 | 25 - 45 | 65 - 75
----------------------------
| 1 |
| 1 |
| 1 |
任何想法如何在開始時獲得「國家」列?
在此先感謝!
+1我喜歡整潔的'sum' - 非常酷 – 2012-02-21 21:36:49