Vous pouvez utiliser des requêtes SQL de base pour extraire des données d’une base de données, mais cela ne fournit souvent pas suffisamment d’intelligence pour répondre aux besoins de votre entreprise. SQL vous permet également de regrouper les résultats de la requête en fonction d'attributs de niveau ligne afin d'appliquer des fonctions d'agrégation à l'aide de la clause GROUP BY. Considérons, par exemple, une table de données de commande composée des attributs ci-dessous:
- Numéro de commande - une valeur numérique identifiant de manière unique chaque commande. Ce champ est la clé primaire de la base de données.
- Vendeur - une valeur textuelle indiquant le nom du vendeur qui a vendu les produits. Ce champ est une clé étrangère vers une autre table contenant des informations sur le personnel.
- N ° de client - une valeur numérique correspondant à un numéro de compte client. Ce champ est également une clé étrangère, référençant une table contenant les informations du compte client.
- Revenu - une valeur numérique correspondant au montant en dollars de la vente.
Lorsque vient le temps d'effectuer des évaluations de performances pour les vendeurs, la table Commandes contient des informations précieuses pouvant être utilisées pour cette évaluation. Lors de l’évaluation de Jim, vous pouvez, par exemple, rédiger une requête simple qui extrait tous les enregistrements de vente de Jim:
SELECT *
DE COMMANDES
O un vendeur comme «Jim»
Cela permettrait de récupérer tous les enregistrements de la base de données correspondant aux ventes réalisées par Jim: OrderID Salesperson CustomerID Revenue
12482 Jim 182 40000
12488 Jim 219 25000
12519 Jim 137 85000
12602 Jim 182 10000
12741 Jim 155 90000
Vous pouvez consulter ces informations et effectuer des calculs manuels pour établir des statistiques de performances, mais ce serait une tâche fastidieuse que vous auriez à répéter pour chaque vendeur de l'entreprise. Au lieu de cela, vous pouvez remplacer ce travail par une seule requête GROUP BY qui calcule des statistiques pour chaque vendeur de la société. Vous écrivez simplement la requête et spécifiez que la base de données doit regrouper les résultats en fonction du champ Salesperson. Vous pouvez ensuite utiliser l’une des fonctions d’agrégation SQL pour effectuer des calculs sur les résultats. Voici un exemple. Si vous avez exécuté l'instruction SQL suivante: SELECT Vendeur, SOMME (Revenu) AS 'Total', MIN (Revenu) AS 'Plus petit', MAX (Revenu) AS 'Plus grand', AVG (Revenu) AS 'Moyenne', COUNT (Revenu) AS 'Nombre'
DE COMMANDES
GROUPE PAR Vendeur
Vous obtiendrez les résultats suivants: Vendeur Total le plus petit nombre moyen le plus grand
Jim 250000 10000 90000 50000 5
Marie 342000 24000 102000 57000 6
Bob 118000 4000 36000 39333 3
Comme vous pouvez le constater, cette fonction puissante vous permet de générer de petits rapports à partir d'une requête SQL, fournissant ainsi des informations décisionnelles précieuses au responsable des évaluations de performances. La clause GROUP BY est souvent utilisée à cette fin dans les bases de données et constitue un outil précieux dans la panoplie d’astuces du DBA.