Maison > Article > base de données > Comment combiner la fonction d'agrégation MySQL avec la fonction MySQL IF() ?
La combinaison des fonctions d'agrégation MySQL avec la fonction MySQL IF() peut être très utile pour obtenir le résultat spécifique souhaité. Considérez les requêtes suivantes qui combinent les fonctions d'agrégation SUM() et COUNT() avec la fonction 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)
La requête ci-dessus utilise la fonction d'agrégation SUM() en conjonction avec la fonction IF() pour obtenir le résultat des étudiants anglophones natifs et des étudiants anglophones non natifs de la table "Étudiants".
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)
La requête ci-dessus combine la fonction d'agrégation COUNT() avec la fonction IF() pour obtenir la sortie du nombre de pays de la table "Étudiants".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!