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() ?

Comment puis-je compter les lignes répondant à des conditions spécifiques dans SQL à l'aide de COUNT() ?

Linda Hamilton
Libérer: 2025-01-11 10:02:43
original
241 Les gens l'ont consulté

How Can I Count Rows Meeting Specific Conditions in SQL Using 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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal