简体   繁体   English

select语句中的MYSQL计数

[英]MYSQL count in select statement

I have data in database like this 我有像这样的数据库中的数据

id  class  gender
1     A      F
2     B      F
3     A      M
4     A      F
5     A      M
6     B      M
7     A      F

From this data I want to make select statement to produce report like this 从这个数据我想制作select语句来生成这样的报告

_________________________
        Gender
class   M    F     Total
_________________________
A       2    3       5
B       1    1       2
_________________________
TOTAL   3    4       7

How can I make that select statement ? 我该怎么做那个选择陈述?

Have a look at the following example 看看下面的例子

SQL Fiddle DEMO SQL Fiddle DEMO

SELECT class,
      SUM(CASE WHEN gender = 'M' THEN 1 ELSE 0 END) `M`,
      SUM(CASE WHEN gender = 'F' THEN 1 ELSE 0 END) `F`,
      COUNT(1) Total
FROM Table1
GROUP BY class

To get totals for each gender: 要获得每个性别的总计:

SELECT class, gender, COUNT(*) as gender_count
FROM Gender
GROUP BY class, gender;

To get total: 要得到总数:

SELECT class, COUNT(*) as total_count
FROM Gender
GROUP BY class;

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

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