CodeGym /Cours /SQL SELF /Introduction aux fonctions d'agrégation

Introduction aux fonctions d'agrégation

SQL SELF
Niveau 7 , Leçon 0
Disponible

Les fonctions d'agrégation... Ces trucs-là, c'est vraiment de la magie dans le monde de l'analyse de données ! Elles te permettent de transformer des millions de lignes de données en résultats compacts et clairs. Grâce à elles, tu peux compter, trouver des minimums et des maximums, faire des moyennes et plein d'autres opérations. Allez, on va tout décortiquer ensemble.

Les fonctions d'agrégation — ce sont des fonctions spéciales SQL qui bossent sur des groupes de lignes et te renvoient un seul résultat. Pour faire une analogie, c'est comme si tu rassemblais toutes les stats sur ton café du matin, genre : combien de tasses t'as bu cette semaine, si t'as mis du sucre ou combien de jours d'affilée t'as ajouté de la crème.

Exemples de problèmes que les fonctions d'agrégation résolvent :

  • Compter le nombre total d'enregistrements dans une table.
  • Trouver les valeurs minimales ou maximales dans une colonne numérique.
  • Faire la somme des valeurs dans une des colonnes.
  • Calculer la moyenne de toutes les valeurs d'une colonne.
  • Extraire les valeurs uniques.

Comment ça marche "sous le capot" ?

SQL exécute une fonction d'agrégation après avoir sélectionné les données dans SELECT. Par exemple, quand tu utilises SUM() ou AVG(), SQL commence par récupérer les données, puis il fait le calcul juste sur les lignes sélectionnées.

Les fonctions d'agrégation principales dans PostgreSQL

Passons à la pratique et voyons le top 5 de nos héros :

  1. COUNT() — compte le nombre de lignes.
  2. SUM() — fait la somme des valeurs d'une colonne numérique.
  3. AVG() — calcule la moyenne.
  4. MIN() — trouve la valeur minimale.
  5. MAX() — trouve la valeur maximale.

Exemples d'utilisation des fonctions d'agrégation

  1. Compter les lignes avec COUNT()

La fonction COUNT() te permet de compter le nombre total de lignes dans une table ou le nombre de valeurs non nulles dans une colonne précise.

Exemple : imaginons qu'on a une table students qui stocke des infos sur les étudiants :

id name age grade
1 Otto Art 20 85
2 Maria Chi 22 90
3 Alex Lin 21 78
4 Anna Song 23 NULL

Comptons le nombre total d'étudiants :

SELECT 
    COUNT(*) AS total_students
FROM students;

Résultat :

total_students
4

Maintenant, comptons combien d'étudiants ont une grade renseignée :

SELECT 
    COUNT(grade) AS students_with_grades
FROM students;

Résultat :

students_with_grades
3

Pourquoi ça ? Parce que COUNT(column) ignore les valeurs NULL.

  1. Faire une somme avec SUM()

La fonction SUM() sert à additionner toutes les valeurs d'une colonne numérique.

Exemple : voyons combien de points nos étudiants ont accumulé au total.

SELECT 
    SUM(grade) AS total_grades
FROM students;

Résultat :

total_grades
253

Remarque : Si y'a des NULL dans la colonne, ils sont juste ignorés dans la somme.

  1. La moyenne avec AVG()

La fonction AVG() calcule la moyenne de toutes les valeurs numériques d'une colonne.

Exemple : calculons la moyenne des notes des étudiants.

SELECT 
    AVG(grade) AS average_grade
FROM students;

Résultat :

average_grade
84.33

T'as peut-être remarqué que les NULL sont encore ignorés.

  1. Minimum et maximum avec MIN() et MAX()

Parfois, tu veux trouver la plus petite ou la plus grande valeur. Pour ça, y'a MIN() et MAX().

Exemple : trouvons l'étudiant le plus jeune et le plus âgé.

SELECT 
    MIN(age) AS youngest_student, 
    MAX(age) AS oldest_student
FROM students;

Résultat :

youngest_student oldest_student
20 23

On parlera plus en détail de ces fonctions dans les prochaines leçons.

Découverte de NULL

On va bientôt faire une leçon spéciale sur NULL, mais en très bref, NULL c'est l'absence de valeur. Rien. Le vide. Le néant, tout simplement !

Imaginons qu'on a une table students qui stocke des infos sur les étudiants :

id name age grade hobbie
1 Otto Art 20 85
2 Maria Chi 22 90 Danse
3 Alex Lin 21 78
4 Anna Song 23

Le nom et l'âge sont toujours là, mais la note et le hobbie peuvent manquer. Si une cellule du tableau n'a vraiment aucune valeur, on dit qu'elle contient NULL. NULL ce n'est ni un nombre ni une chaîne, c'est un code spécial qui veut dire qu'il n'y a vraiment aucune valeur.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION