Clause GROUP BY

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 listechamps
FROM table
WHERE 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.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×