COUNT with condition and group : Count « Select Clause « SQL / MySQL






COUNT with condition and group

/*
mysql> SELECT species, sex, COUNT(*) FROM Bird
    ->     WHERE sex IS NOT NULL
    ->     GROUP BY species, sex;
+---------+------+----------+
| species | sex  | COUNT(*) |
+---------+------+----------+
| Bus     | m    |        2 |
| Car     | f    |        1 |
+---------+------+----------+
2 rows in set (0.00 sec)


*/  
Drop table Bird;

CREATE TABLE Bird (
    name VARCHAR(20), 
    owner VARCHAR(20),
    species VARCHAR(20), 
    sex CHAR(1), 
    birth DATE, 
    death DATE
);
  
INSERT INTO  Bird VALUES ('BlueBird','Joe','Car','f','1999-03-30',NULL);
INSERT INTO  Bird VALUES ('RedBird','Yin','Bus','m','1979-04-30',1998-01-30);
INSERT INTO  Bird VALUES ('RedBird','Yin','Bus','m','1998-01-30',NULL);

/* Or, if you wanted the number of animals per sex only for animals whose 

sex is known:
*/

SELECT species, sex, COUNT(*) FROM Bird
    WHERE sex IS NOT NULL
    GROUP BY species, sex;


           
       








Related examples in the same category

1.Counting Rows: Counting the total number of animals
2.Count and group
3.Use COUNT in select command
4.COUNT() and GROUP BY
5.Another Count and Group BY
6.Count and group by two columns
7.COUNT command with condition
8.Get GROUP BY for COUNT
9.Use COUNT with condition
10.Simple COUNT
11.Performing Row and Column Counting
12.Use COUNT and GROUP
13.Use COUNT, GROUP and HAVING