Maison >base de données >tutoriel mysql >Comment puis-je compter les lignes répondant à des conditions spécifiques dans SQL à l'aide de COUNT() ?
Utilisez la fonction SQL COUNT() pour compter le nombre de lignes qui répondent à des conditions spécifiques
La fonction d'agrégation COUNT() en SQL compte généralement toutes les valeurs non nulles dans une colonne. Mais que se passe-t-il si vous souhaitez uniquement compter le nombre de lignes répondant à certains critères ? Par exemple, comptez uniquement le nombre d'employés portant le titre « Manager » dans la colonne emploi.
Bien que la clause WHERE fournisse un moyen simple de filtrer les lignes, elle peut ne pas être suffisante dans les situations où vous devez compter à la fois les managers et les autres employés. À l’heure actuelle, l’expression conditionnelle dans la fonction d’agrégation COUNT() est utile.
Utiliser des expressions conditionnelles dans COUNT()
Vous pouvez profiter de la fonctionnalité de COUNT() pour compter uniquement les valeurs non nulles au lieu d'utiliser la clause WHERE. À l'aide d'expressions conditionnelles, vous pouvez créer une instruction case qui évalue la colonne Position et attribue une valeur spécifique en fonction d'une condition.
Exemple 1 : Utilisation de Case et Count()
<code class="language-sql">select count(case Position when 'Manager' then 1 else null end) from ...</code>
Dans cette requête, l'instruction case évalue si la colonne Position est égale à « Manager ». Si vrai, la valeur attribuée est 1 ; sinon, la valeur attribuée est nulle. La fonction d'agrégation COUNT() additionne ensuite toutes les valeurs non nulles dans l'expression case pour obtenir le nombre de lignes du gestionnaire.
Exemple 2 : Utilisation de Case et Sum()
Vous pouvez également utiliser la fonction d'agrégation Sum() et des expressions conditionnelles similaires :
<code class="language-sql">select sum(case Position when 'Manager' then 1 else 0 end) from ...</code>
Cette méthode peut également obtenir le nombre de lignes du gestionnaire car la fonction d'agrégation Sum() additionne les valeurs spécifiées dans l'expression de cas et compte efficacement les valeurs non nulles (c'est-à-dire les lignes avec une position égale à « Manager ») .
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!