Maison >base de données >tutoriel mysql >Comment puis-je afficher les comptes zéro dans MySQL COUNT() pour les lignes avec des valeurs nulles ?

Comment puis-je afficher les comptes zéro dans MySQL COUNT() pour les lignes avec des valeurs nulles ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-05 03:02:12248parcourir

How Can I Display Zero Counts in MySQL COUNT() for Rows with Null Values?

Affichage des comptes nuls dans MySQL COUNT

Lors du comptage de valeurs à l'aide de la fonction COUNT() dans MySQL, les lignes avec des valeurs nulles sont souvent exclues. Cela peut entraîner des difficultés lorsque vous tentez d'afficher les décomptes pour toutes les lignes, y compris celles sans valeurs correspondantes dans d'autres tableaux.

Résoudre le problème

Pour résoudre ce problème, vous peut utiliser une jointure externe en combinaison avec la fonction COUNT(). La requête suivante utilise un LEFT JOIN pour inclure toutes les lignes de la table Employee, qu'elles aient ou non des entrées correspondantes dans la table mailingSubscriptions :

SELECT c.name, count(m.mailid)
FROM Employee
   LEFT JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName
GROUP BY c.name;

Explication

  • LEFT JOIN combine les lignes de la table Employee avec les lignes correspondantes des mailingSubscriptions table.
  • L'expression count(m.mailid) compte le nombre de valeurs non nulles dans la colonne mailid.
  • La clause GROUP BY c.name agrège les résultats par nom de l'employé, fournissant le nombre d'abonnements pour chaque employé.

Résultat

Cette requête renvoie un tableau avec deux colonnes : Nom et Nombre d'abonnements. La colonne Nombre d'abonnements affichera le nombre d'abonnements pour chaque employé, ou 0 pour les employés sans aucun abonnement.

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