Menggabungkan fungsi agregat MySQL dengan fungsi MySQL IF() boleh sangat membantu untuk mendapatkan output khusus yang kita mahukan. Pertimbangkan pertanyaan berikut yang menggabungkan fungsi agregat SUM() dan COUNT() dengan fungsi 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)
Pertanyaan di atas menggunakan fungsi agregat SUM() bersama-sama dengan fungsi IF() untuk mendapatkan output pelajar penutur bahasa Inggeris asli dan pelajar bukan penutur bahasa Inggeris asli daripada jadual "Pelajar".
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)
Pertanyaan di atas menggabungkan fungsi agregat COUNT() dengan fungsi IF() untuk mendapatkan output bilangan negara daripada jadual "Pelajar".
Atas ialah kandungan terperinci Bagaimana untuk menggabungkan fungsi agregat MySQL dengan fungsi MySQL IF()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!