Cours SQL et MySQL · Module 6: Agrégations et regroupements
Les fonctions d'agrégat et COUNT
Dans cette leçon3
Une fonction d'agrégat est un sortilège qui prend plusieurs lignes et en retourne une seule valeur - un résumé. Au lieu d'une liste de parchemins, tu obtiens un seul nombre.
En MySQL, nous avons cinq fonctions d'agrégat de base : COUNT, SUM, AVG, MIN et MAX. Nous commencerons par la plus utilisée - COUNT, qui signifie « compter ».
COUNT(*) - compter toutes les lignes
L'astérisque signifie « toutes les lignes, quel que soit leur contenu » :
1SELECT COUNT(*) FROM ksiazki;Cela signifie : « Combien de parchemins se trouvent sur le rayon ksiazki ? ». La Bibliothèque retournera un seul nombre - par exemple 150.
COUNT(colonne) - ignore les NULL
Quand tu donnes un nom de colonne au lieu de l'astérisque, MySQL ne compte que les lignes où cette colonne n'est pas vide (n'a pas de valeur NULL) :
1SELECT COUNT(data_zwrotu) FROM wypozyczenia;Cela ne compte que les emprunts déjà rendus - car pour les livres encore empruntés, la colonne data_zwrotu est vide (NULL). C'est une différence importante : COUNT(*) compte tous les emprunts, tandis que COUNT(data_zwrotu) ne compte que ceux qui sont terminés.
COUNT(DISTINCT colonne) - compter les valeurs distinctes
Le mot DISTINCT indique à MySQL d'ignorer les répétitions et de ne compter que les valeurs uniques :
1SELECT COUNT(DISTINCT kraj) FROM autorzy;Cela signifie : « De combien de pays différents viennent nos auteurs ? ». Si cinq auteurs viennent de Grèce, le pays « Grèce » n'est compté qu'une seule fois.
Retiens ces trois variantes - elles sont le fondement de toute la Salle des Nombres !
Tu as repéré une erreur dans cette leçon ?
Teste tes connaissances
Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.
1. Qu'est-ce qu'une fonction d'agrégation en SQL ?
2. En quoi COUNT(*) diffère-t-il de COUNT(data_zwrotu) ?
Voici 2 des 3 questions de cette leçon. Réponds aux autres dans le jeu.
Tâches pratiques dans le jeu
- Éditeur de code
Écris une requête qui compte le nombre de toutes les lignes de la table ksiazki.
- Éditeur de code
Écris une requête qui compte le nombre de valeurs uniques de la colonne kraj dans la table autorzy.
- Tri horizontal
Ordonne les éléments sur une seule ligne pour former une requête qui compte tous les livres :