Les fonctions d'agrégat
Résumer toute une table en une valeur : COUNT (étoile, colonne, DISTINCT), SUM, AVG, MIN, MAX, le sort des NULL et l'interdiction de mêler agrégat et colonne simple.
- 19 cartes
- 4 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Les chiffres
Quelques cartes du deck
Fonction d'agrégat : de quoi s'agit-il ?
Voir la réponse
Fonction qui lit plusieurs lignes et en rend une seule valeur : un nombre de lignes, une somme, une moyenne, un minimum ou un maximum.
COUNT, SUM, AVG, MIN et MAX sont les cinq usuelles. Sans GROUP BY, elles résument toute la table en une seule ligne.
La colonne note, entière, de la table eleve vaut 14, NULL, NULL et 6. Que rend SELECT SUM(note) / COUNT(*) FROM eleve ?
510NULL20
Voir la réponse
5SUM ignore les NULL et vaut 20, mais COUNT(*) compte les 4 lignes : 20 / 4 = 5. AVG(note), lui, diviserait par les 2 notes présentes et rendrait 10.
… compte toutes les lignes ; … compte les villes différentes.
Voir la réponse
COUNT(*) compte toutes les lignes ; COUNT(DISTINCT ville) compte les villes différentes.
DISTINCT à l'intérieur de COUNT supprime les doublons avant de compter, et ignore aussi les NULL.
COUNT(*) : de quoi s'agit-il ?
Voir la réponse
Agrégat qui compte toutes les lignes, qu'elles contiennent des NULL ou non.
Sur une table vide, il rend 0, et non NULL, contrairement à SUM ou AVG.