[英]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;
Output: 输出:
REGISTERYEAR MAN WOMAN
===================================
2011 1 1
2012 1 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.