Maison >base de données >tutoriel mysql >Comment puis-je compter les lignes en fonction des conditions de la fonction COUNT() ?

Comment puis-je compter les lignes en fonction des conditions de la fonction COUNT() ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-11 09:14:42855parcourir

How Can I Count Rows Based on Conditions Within the COUNT() Function?

Comptage conditionnel de lignes dans COUNT() : une approche concise

Souvent, vous devez compter les lignes répondant à des critères spécifiques. Par exemple, compter uniquement les entrées « Manager » dans une colonne « Position ». Au lieu d'utiliser une clause WHERE, vous pouvez intégrer la condition directement dans la fonction COUNT().

La solution : instructions CASE et fonctions d'agrégation

La clé est de se rappeler que COUNT() ne compte que les valeurs non NULL. Par conséquent, utilisez une instruction CASE comme celle-ci :

<code class="language-sql">SELECT COUNT(CASE Position WHEN 'Manager' THEN 1 ELSE NULL END)
FROM ...</code>

Alternativement, vous pouvez utiliser SUM() de la même manière :

<code class="language-sql">SELECT SUM(CASE Position WHEN 'Manager' THEN 1 ELSE 0 END)
FROM ...</code>

Cette approche permet un comptage conditionnel de lignes dans la fonction COUNT() ou SUM(), évitant ainsi le besoin d'une clause WHERE distincte, ce qui permet d'obtenir un SQL plus compact et plus efficace.

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!

Déclaration:
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