camera
INFOS

Styles


Radios



El_Mojito 0
7 Septembre 2017 à 20:15

Tuto SQL - #4 La commande GROUP BY


Salut tout le monde,

La commande GROUP BY est utilisée en SQL pour grouper plusieurs résultats et utiliser une fonction de totaux sur un groupe de résultat. Sur une table qui contient toutes les ventes d’un magasin, il est par exemple possible de liste regrouper les ventes par clients identiques et d’obtenir le coût total des achats pour chaque client.

 

Syntaxe d’utilisation de GROUP BY

De façon générale, la commande GROUP BY s’utilise de la façon suivante

SELECT colonne1, fonction(colonne2)
FROM table
GROUP BY colonne1

A noter : cette commande doit toujours s’utiliser après la commande WHERE et avant la commande HAVING.

 

Exemple d’utilisation

Prenons en considération une table « achat » qui résume les ventes d’une boutique :

id client tarif date
1 Pierre 102 2012-10-23
2 Simon 47 2012-10-27
3 Marie 18 2012-11-05
4 Marie 20 2012-11-14
5 Pierre 160 2012-12-03


Ce tableau contient une colonne qui sert d’identifiant pour chaque ligne, une autre qui contient le nom du client, le coût de la vente et la date d’achat.

Pour obtenir le coût total de chaque client en regroupant les commandes des mêmes clients, il faut utiliser la requête suivante :

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

 

La fonction SUM() permet d’additionner la valeur de chaque tarif pour un même client. Le résultat sera donc le suivant :

client SUM(tarif)
Pierre 262
Simon 47
Marie 38

 

La manière simple de comprendre le GROUP BY c’est tout simplement d’assimiler qu’il va éviter de présenter plusieurs fois les mêmes lignes. C’est une méthode pour éviter les doublons.

Juste à titre informatif, voici ce qu’on obtient de la requête sans utiliser GROUP BY.

Requête :

SELECT client, SUM(tarif)
FROM achat

Résultat :

client SUM(tarif)
Pierre 262
Simmon 47
Marie 38
Marie 38
Pierre 262

 

Utilisation d’autres fonctions de statistiques

Il existe plusieurs fonctions qui peuvent être utilisées pour manipuler plusieurs enregistrements, il s’agit des fonctions d’agrégations statistiques, les principales sont les suivantes :

  • AVG() pour calculer la moyenne d’un set de valeur. Permet de connaître le prix du panier moyen pour de chaque client
  • COUNT() pour compter le nombre de lignes concernées. Permet de savoir combien d’achats a été effectué par chaque client
  • MAX() pour récupérer la plus haute valeur. Pratique pour savoir l’achat le plus cher
  • MIN() pour récupérer la plus petite valeur. Utile par exemple pour connaître la date du premier achat d’un client
  • SUM() pour calculer la somme de plusieurs lignes. Permet par exemple de connaître le total de tous les achats d’un client

Ces petites fonctions se révèlent rapidement indispensable pour travailler sur des données.


Devenez vous aussi rédacteur !

Nous recherchons des rédacteurs bénévoles pour écrire des articles !
Gagnez en visibilité tout en écrivant autour de sujets qui vous passionnent.

En savoir plus

A voir aussi


Espace commentaire 0


Poster un commentaire


Vous devez être connecté pour pouvoir poster un commentaire...

Pas encore de compte ? Créez-en un ici !