Applies ToAccess pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

La clause GROUP BY dans Access combine en un seul enregistrement les enregistrements comportant des valeurs identiques dans la liste de champs spécifiée. Une valeur de synthèse est créée pour chaque enregistrement si vous incluez une fonction d’agrégation SQL, par exemple Somme ou Compte, dans l’instruction SELECT.

Syntaxe

SELECT listechampsFROM tableWHERE critères[GROUP BY listechampsgroupe]

Une instruction SELECT contenant une clause GROUP BY se compose des éléments suivants :

Composant

Description

listechamps

Nom du ou des champs à extraire avec leurs alias de noms de champs, fonctions d’agrégation SQL, prédicats de sélection (ALL, DISTINCT, DISTINCTROW ou TOP), ou autres options d’une instruction SELECT.

table

Nom de la table d'où sont extraits les enregistrements.

critères

Critères de sélection. Si l'instruction contient une clause WHERE, le moteur de base de données Microsoft Access regroupe les valeurs après avoir appliqué les conditions WHERE aux enregistrements.

listechampsgroupe

Noms des champs (10 au maximum) utilisés pour regrouper les enregistrements. L'ordre des noms de champs dans listechampsgroupe détermine les niveaux de regroupement, du plus élevé au plus bas.

Notes

La clause GROUP BY est facultative.

Les valeurs de synthèse sont omises si l'instruction SELECT ne contient aucune fonction d'agrégation SQL.

Les valeurs Null des champs GROUP BY sont regroupées et ne sont pas omises. Toutefois, les valeurs Null ne sont évaluées dans aucune fonction d’agrégation SQL.

Utilisez la clause WHERE pour exclure les lignes que vous ne souhaitez pas regrouper et la clause HAVING pour filtrer les enregistrements après leur regroupement.

À moins de contenir des données de type Memo ou objet OLE, un champ d’une liste de champs GROUP BY peut faire référence à n’importe quel champ de n’importe quelle table répertoriée dans la clause FROM, même si celui-ci n’est pas inclus dans l’instruction SELECT, à condition toutefois que l’instruction SELECT inclue au moins une fonction d’agrégation SQL. Le moteur de base de données Microsoft Access ne peut pas faire porter des opérations d’agrégation sur des champs Memo ou objet OLE.

Tous les champs de la liste de champs SELECT doivent être inclus, soit dans la clause GROUP BY, soit dans une fonction d'agrégation SQL, sous forme d'arguments.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.