Kết hợp các hàm aggregate MySQL với hàm IF() rất hữu ích để lấy đầu ra cụ thể. Xem các truy vấn kết hợp SUM() và COUNT() với IF():
Ví dụ 1: SUM() với IF()
mysql> SELECT SUM(IF(Language = 'English', 1, 0)) AS English,
SUM(IF(Language <> 'English', 1, 0)) AS "Non-English"
FROM Students;
+---------+-------------+
| English | Non-English |
+---------+-------------+
| 5 | 4 |
+---------+-------------+
1 row in set (0.00 sec)
Truy vấn trên kết hợp SUM() với IF() để đếm số sinh viên nói tiếng Anh và không nói tiếng Anh từ bảng Students.
Ví dụ 2: COUNT() với IF()
mysql> SELECT COUNT(IF(country = 'USA', 1, NULL)) AS USA,
COUNT(IF(country = 'UK', 1, NULL)) AS UK,
COUNT(IF(country = 'France', 1, NULL)) AS France,
COUNT(IF(country = 'Russia', 1, NULL)) AS Russia,
COUNT(IF(country = 'Australia', 1, NULL)) AS Australia,
COUNT(IF(country = 'INDIA', 1, NULL)) AS INDIA,
COUNT(IF(country = 'NZ', 1, NULL)) AS NZ
FROM Students;
+-----+----+--------+--------+-----------+-------+----+
| USA | UK | France | Russia | Australia | INDIA | NZ |
+-----+----+--------+--------+-----------+-------+----+
| 2 | 1 | 1 | 1 | 1 | 2 | 1 |
+-----+----+--------+--------+-----------+-------+----+
1 row in set (0.07 sec)
Truy vấn kết hợp COUNT() với IF() để thống kê số lượng sinh viên theo quốc gia từ bảng Students.