SQL AVG()

La fonction d’agrégation AVG() dans le langage SQL permet de calculer une valeur moyenne sur un ensemble d’enregistrement de type numérique et non nul.

Syntaxe

La syntaxe pour utiliser cette fonction de statistique est simple :

SELECT AVG(nom_colonne) FROM nom_table

Cette requête permet de calculer la note moyenne de la colonne « nom_colonne » sur tous les enregistrements de la table « nom_table ». Il est possible de filtrer les enregistrements concernés à l’aide de la commande WHERE. Il est aussi possible d’utiliser la commande GROUP BY pour regrouper les données appartenant à la même entité.

A savoir : la syntaxe est conforme avec la norme SQL et fonctionne correctement avec tous les Systèmes de Gestion de Base de Données (SGBD), incluant : MySQL, PostgreSQL, Oracle et SQL Server.

Exemple

Imaginons une table « achat » qui représente toutes les ventes sur un site d’e-commerce, dans laquelle on enregistre le montant de l’achat, la date et le nom du client.

idclienttarifdate
1Pierre1022012-10-23
2Simon472012-10-27
3Marie182012-11-05
4Marie202012-11-14
5Pierre1602012-12-03

Pour connaitre le montant moyen effectué par chaque client, il est possible d’utiliser une requête qui va utiliser :

  • GROUP BY pour regrouper les ventes des mêmes clients
  • La fonction AVG() pour calculer la moyenne des enregistrements

La requête sera donc la suivante :

SELECT client, AVG(tarif)
 FROM achat
 GROUP BY client

Le résultat sera le suivant :

clientAVG(tarif)
Pierre131
Simon47
Marie19
Partager