2013-12-23 57 views
0

例如,我有這樣的一個表:Mysql的集團按年度和計數字段

| id | name | register_date | gender | 

|1  |John |2011-02-02  |man  | 
|2  |Jane |2011-02-02  |woman  | 
|3  |Jihn |2012-04-04  |man  | 
|4  |Jeni |2012-02-02  |woman  | 
|5  |Joni |2012-02-02  |woman  | 

如何創建從上面表這個結果查詢?

| RegisterYear | man | woman | 

|2011   | 1 | 1 | 
|2012   | 1 | 2 | 

回答

3

集團在今年,總結每個性別

select year(register_date) as registeryear, 
     sum(gender = 'man') as man, 
     sum(gender = 'woman') as woman  
from your_table 
group by registeryear 
+0

嗨Juergen,謝謝你的回答 讓我現在試試 – user3128703

+0

@hanky:謝謝我錯過了那個逗號 –

+0

非常感謝你Juergen!多數民衆贊成在工作 和謝謝你的糾正Hanky:D – user3128703

0

在這裏你去:

SELECT YEAR(register_date) as RegisterYear, 
     SUM(gender = 'man') as man, 
     SUM(gender = 'woman') as woman 
from register 
group by RegisterYear; 

SQLFiddle Demo

輸出:

REGISTERYEAR MAN  WOMAN 
=================================== 
2011   1  1 
2012   1  2