Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

How can I make that select statement ?

like image 700
anon Avatar asked Dec 07 '25 14:12

anon


1 Answers

Have a look at the following example

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
like image 92
Adriaan Stander Avatar answered Dec 10 '25 10:12

Adriaan Stander