Fonctions d'agrégation en SQL - SUM, COUNT, AVG, MIN et MAX

Do you want to read our courses in English? please visit our new website cs-teachers.com Click here

Fonctions d'agrégation en SQL - SUM, COUNT, AVG, MIN et MAX

La fonction d'agrégation SQL est utilisée pour effectuer les calculs sur plusieurs lignes d'une seule colonne d'une table. Elle retourne une valeur unique.

Elle est également utilisée pour résumer les données.

La norme ISO définit cinq fonctions d'agrégation, à savoir:

  •  COUNT
  •  SUM
  •  AVG
  •  MIN
  •  MAX
 Remarque !  Toutes les fonctions d'agrégation excluent par défaut les valeurs NULL avant de travailler sur les données.
La table échantillon - Employes
Table - Employes                                      
+----+---------+-----+---------+------------+------+
| Id | Nom     | Age | Salaire | Profession | Dep  |
+----+---------+-----+---------+------------+------+
|  1 | Ismail  |  25 | 6000.00 | Assistant  |    2 |
|  2 | Mohamed |  30 | 8000.40 | Directeur  |    1 |
|  3 | Fatima  |  29 | 6000.00 | Directeur  |    3 |
|  4 | Dounia  |  30 | 7000.00 | Assistant  |    4 |
|  5 | Omar    |  29 | 9000.00 | Ingenieur  |    1 |
|  7 | Mostafa |  29 | 7500.00 | Ingenieur  | NULL |
+----+---------+-----+---------+------------+------+ 

COUNT

La fonction COUNT est utilisée pour compter le nombre de lignes dans une table de base de données. Il peut fonctionner sur les types de données numériques et non numériques.

La fonction COUNT utilise COUNT(*) qui renvoie le nombre de toutes les lignes d'une table spécifiée. COUNT(*) considère les doublons et Null.

Syntaxe :
                                COUNT(*)  
                                // ou 
                                COUNT( [ALL|DISTINCT] nom_colonne ) 
                            
Exemple 1 :

La requête suivante comptera les enregistrements dans la table Employes

                                SELECT count(*) FROM Employes;
                            

Cette requête produira le jeu de résultats suivant :

+----------+
| count(*) |
+----------+
|        6 |
+----------+
Exemple 2 :

Compter les employés affectés à un département

                                SELECT count(Dep) FROM Employes;
                            

Cette requête produira le jeu de résultats suivant :

+------------+
| count(Dep) |
+------------+
|          5 |
+------------+
Exemple 3 :

Compter les différents âges de la table Employes, (sans doublons)

                                SELECT count(DISTINCT Age) FROM Employes;
                            

Cette requête produira le jeu de résultats suivant :

+---------------------+
| count(DISTINCT Age) |
+---------------------+
|                   3 |
+---------------------+

SUM

La fonction SUM renvoie la somme de toutes les valeurs de la colonne spécifiée. SUM fonctionne uniquement sur les champs numériques.

Syntaxe :
                                SUM( [ALL|DISTINCT] nom_colonne )  
                            
Exemple 4 :

La requête suivante renvoie la somme des salaires

                                SELECT SUM(Salaire) FROM Employes;
                            

Cette requête produira le jeu de résultats suivant :

+--------------+
| SUM(Salaire) |
+--------------+
|     43500.40 |
+--------------+
Exemple 5 :

La requête suivante renvoie la somme des âges sans compter les valeurs dupliquées

                                SELECT SUM(DISTINCT Age) FROM Employes;
                            

Cette requête produira le jeu de résultats suivant :

+-------------------+
| SUM(DISTINCT Age) |
+-------------------+
|                84 |
+-------------------+

AVG

La fonction AVG renvoie la moyenne des valeurs d'une colonne spécifiée. Tout comme la fonction SUM, elle ne fonctionne que sur les types de données numériques.

Syntaxe :
                                AVG( [ALL|DISTINCT] nom_colonne ) 
                            
Exemple 6 :

La requête suivante renvoie le salaire moyen de la table Employes

                                SELECT AVG(Salaire) FROM Employes;
                            

Cette requête produira le jeu de résultats suivant :

+--------------+
| AVG(Salaire) |
+--------------+
|  7250.066667 |
+--------------+

MIN

La fonction MIN est utilisée pour déterminer la plus petite valeur de toutes les valeurs sélectionnées d'une colonne.

Syntaxe :
                                MIN( [ALL|DISTINCT] nom_colonne ) 
                            
Exemple 7 :

La requête suivante renvoie le salaire minimum de la table Employes

                                SELECT MIN(Salaire) FROM Employes;
                            

Cette requête produira le jeu de résultats suivant :

+--------------+
| MIN(Salaire) |
+--------------+
|      6000.00 |
+--------------+

MAX

Comme son nom l'indique, la fonction MAX est l'opposé de la fonction MIN. Elle renvoie la plus grande valeur de toutes les valeurs sélectionnées d'une colonne.

Syntaxe :
                                MAX( [ALL|DISTINCT] nom_colonne ) 
                            
Exemple 8 :

La requête suivante renvoie le salaire maximum de la table Employes

                                SELECT MAX(Salaire) FROM Employes;
                            

Cette requête produira le jeu de résultats suivant :

+--------------+
| MAX(Salaire) |
+--------------+
|      9000.00 |
+--------------+

Partager ce cours avec tes amis :

Rédigé par ESSADDOUKI Mostafa

The education of the 21st century opens up opportunities to not merely teach, but to coach, mentor, nurture and inspire.

Commentaire(s)