简体   繁体   English

Mysql按年份和计数分组字段

[英]Mysql Group by Year and Count field

For example, I have a table like this: 例如,我有一个这样的表:

|  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     |

How is the query to create this result from that table above? 如何从上面的表中查询创建此结果的查询?

|  RegisterYear  |  man  |  woman  |

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

Group by the year and sum each gender 按年份分组并汇总每个性别

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

Here you go: 干得好:

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

SQLFiddle Demo SQLFiddle演示

Output: 输出:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM