Langage SQL

Notification de cookies

Nous utilisons des cookies pour améliorer votre expérience. En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Plus d'informations

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 M. ESSADDOUKI

Learning a new programming language is an easy thing, but the most difficult thing is how to design efficient algorithms for real-world problems, so don't be a programmer, be a problems solver.

Cours Similaires :