Quel est le plus correct : COUNT(*) vs. COUNT(column-name) ?
La fonction d'agrégation SQL COUNT peut être utilisée de deux manières : COUNT(*) et COUNT(column-name). Bien que les deux méthodes visent à compter le nombre de lignes, il existe des différences subtiles à prendre en compte.
COUNT(*)
- Compte toutes les lignes, même celles avec Valeurs NULL.
- Utile pour obtenir un nombre total d'enregistrements sans tenir compte des données disponibilité.
COUNT(column-name)
- Compte uniquement les valeurs non NULL.
- Plus spécifique et peut être utilisé pour compter le nombre de lignes avec une valeur particulière ou pour filtrer les valeurs NULL.
Dans votre exemple code :
-
COUNT(*): Compte toutes les lignes du groupe, y compris celles avec des valeurs manquantes.
-
COUNT(customerid): Ne compte que les lignes avec les identifiants clients. Il filtre toutes les lignes avec des ID client NULL.
Le choix entre COUNT(*) et COUNT(column-name) dépend du résultat souhaité :
- Pour compter le nombre total de lignes, quels que soient les valeurs NULL, utilisez COUNT(*).
- Pour compter uniquement les valeurs non NULL, utilisez COUNT(nom-colonne).
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!