Comptage conditionnel dans la fonction COUNT()
Dans certains cas, il peut être nécessaire de compter les lignes en fonction de critères spécifiques au lieu d'obtenir le nombre total. Par exemple, nous pourrions vouloir compter uniquement les lignes qui ont une valeur spécifique dans une colonne spécifique.
À l'aide de la fonction COUNT(), vous pouvez spécifier des conditions pour filtrer les lignes à des fins de comptage. Ceci peut être réalisé en utilisant une expression CASE en conjonction avec la fonction COUNT(), comme indiqué dans l'extrait de code suivant :
<code class="language-sql">select count(case Position when 'Manager' then 1 else null end) from ...</code>
Dans cet exemple, nous ne comptons que les lignes où la valeur de la colonne 'Position' est 'Manager'. L'expression CASE évalue la colonne 'Position' de chaque ligne. Renvoie 1 si la valeur de la colonne correspond à « Manager », sinon renvoie null. Cela garantit que seules les lignes contenant « Manager » dans la colonne « Position » sont comptées.
Vous pouvez également utiliser la fonction 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 méthode utilise également des expressions CASE pour filtrer les lignes. Cependant, pour les lignes sans correspondance, il renvoie 0 au lieu de null. La fonction SUM() calcule ensuite la somme de ces valeurs, donnant le nombre de lignes contenant 'Manager' dans la colonne 'Position'.
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!