Dans Microsoft Access, GROUP BY est une clause que vous pouvez utiliser pour combiner des enregistrements avec des valeurs identiques dans un champ spécifique dans un enregistrement. Si vous incluez une fonction d'agrégation SQL dans l'instruction SELECT, telle que AVG, COUNT ou SUM, Access crée une valeur récapitulative pour chaque enregistrement.
Les instructions de cet article s'appliquent à Access pour Microsoft 365, Access 2019, 2016, 2013 et 2010.
Utiliser GROUP BY
Vous pouvez rechercher et utiliser la fonction GROUP BY à l'aide d'une requête SQL dans la vue SQL. C'est l'un des moyens les plus simples et les plus directs d'accéder à vos données et de les contrôler.
-
Démarrez Access et ouvrez votre base de données.
Cet exemple utilise l'exemple de base de données Northwind.
-
Sélectionnez l'onglet Créer.
-
Dans le groupe Requêtes, sélectionnez Query Design.
-
Dans la liste Add Tables, sélectionnez la table avec laquelle vous souhaitez travailler.
-
Sélectionnez View dans le groupe Results et choisissez SQL View.
- Le corps principal passera à une fenêtre de terminal de requête. Ici, vous pouvez entrer n'importe quelle requête que vous aimez.
-
Pour obtenir un regroupement de base à partir de SQL, vous devez entrer quelque chose comme ceci:
SELECTFROM tablename WHERE colonne/catégorie LIKE ‘entry’;
Remplacez le nom réel du tableau, la catégorie ou l'en-tête de colonne et la valeur d'entrée réelle que vous recherchez.
Décomposer la requête
Considérons, par exemple, un tableau de données de commande composé des attributs ci-dessous:
- OrderID: une valeur numérique identifiant de manière unique chaque commande. Ce champ est la clé primaire de la base de données.
- Salesperson: une valeur textuelle fournissant 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.
- CustomerID: Une valeur numérique correspondant à un numéro de compte client. Ce champ est également une clé étrangère, faisant référence à une table contenant des informations sur le compte client.
- Revenu: une valeur numérique correspondant au montant en dollars de la vente.
Quand vient le temps d'effectuer des évaluations de performances pour les commerciaux, le tableau Commandes contient des informations précieuses qui peuvent être utilisées pour cette évaluation. Lors de l'évaluation de Jim, vous pouvez, par exemple, écrire une requête simple qui récupère tous les enregistrements de ventes de Jim:
SELECTFROM Commandes WHERE Vendeur LIKE ‘Jim’;
Cela récupérera 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 pourriez passer en revue ces informations et effectuer des calculs manuels pour développer 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 les statistiques de chaque vendeur dans l'entreprise. Vous rédigez la requête et spécifiez que la base de données doit regrouper les résultats en fonction du champ Vendeur. Vous pouvez ensuite utiliser n'importe laquelle 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, SUM(Revenu) AS 'Total', MIN(Revenu) AS 'Plus petit', MAX(Revenu) AS 'Plus grand', AVG(Revenu) AS 'Moyenne', COUNT(Revenu) AS ' Nombre' FROM Commandes GROUP BY Vendeur;
Vous obtiendrez les résultats suivants:
Vendeur Total Plus petit Plus grand Moyenne Nombre
Jim 250000 10000 90000 50000 5
Mary 342000 24000 102000 57000 6Bob 118000 4000 36000 39333
Comme vous pouvez le voir, cette fonction puissante vous permet de générer de brefs rapports à partir d'une requête SQL, fournissant ainsi une précieuse intelligence d'affaires au responsable qui effectue les évaluations de performances. La clause GROUP BY est souvent utilisée dans les bases de données à cette fin et est un outil précieux dans le sac de trucs du DBA.