Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để các hàm tổng hợp MySQL có thể được kết hợp với hàm IF () của MySQL?


Kết hợp các hàm tổng hợp của MySQL với hàm IF () của MySQL có thể rất hữu ích để có được kết quả cụ thể mà chúng tôi muốn. Hãy xem xét các truy vấn sau đây kết hợp các hàm tổng hợp SUM () và COUNT () với hàm IF ().

Ví dụ

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 hàm tổng hợp SUM () với hàm IF () để lấy kết quả của sinh viên nói tiếng Anh và sinh viên không nói tiếng Anh từ bảng "Sinh viên".

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 trên kết hợp hàm tổng hợp COUNT () với hàm IF () để lấy kết quả của một số quốc gia từ bảng "Sinh viên".