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!