
critère Critère de sélection. Si l'instruction contient une clause WHERE, Microsoft Access regroupe les valeurs après
avoir appliqué les conditions WHERE aux enregistrements.
liste_de_champs_de_groupe Les noms de maximum 10 champs utilisés pour regrouper les enregistrements. L'ordre
des noms de champ dans liste_de_champs_de_groupe détermine les niveaux de regroupement, du plus élevé au plus
bas.
La clause GROUP BY est facultative.
Les valeurs de synthèse sont omises en l'absence de fonction de regroupement SQL dans l'instruction SELECT.
Dans les champs GROUP BY, les valeurs de type Null sont regroupées et ne sont pas omises. Toutefois, elles ne
sont évaluées dans aucune fonction de regroupement SQL.
Utilisez la clause WHERE pour exclure les lignes que vous ne souhaitez pas regrouper et utilisez la clause
HAVING pour filtrer les enregistrements une fois qu'ils ont été regroupés. Sauf s'il contient des données de type Mémo ou
Liaison OLE, un champ dans la liste de champs GROUP BY peut se référer à n'importe quel champ repris dans la clause
FROM, même si le champ n'est pas inclus dans l'instruction SELECT, à condition que l'instruction SELECT comprenne au
moins une fonction de regroupement SQL. Microsoft Access ne peut pas effectuer de regroupement sur des champs Mémo
ou Liaison OLE.
Si vous utilisez une clause GROUP BY, tous les champs dans la liste de champs SELECT doivent être inclus dans
la clause GROUP BY ou être inclus comme arguments dans une fonction de regroupement SQL.
Quand vous tapez un nom de champ qui contient un espace ou un signe de ponctuation, entourez-le de crochets droits ([ ]) :
SELECT [Nom du produit], Sum([Unités en stock])
FROM Produits
GROUP BY [Nom du produit];
Clause HAVING (SQL)
Utilisez la clause HAVING pour spécifier quels enregistrements regroupés sont affichés. Une fois que les enregistrements
ont
été combinés au moyen de GROUP BY, la clause HAVING les affiche pour autant qu'ils répondent aux conditions qu'elle
définit.
Syntaxe
SELECT liste_de_champs
FROM table
WHERE critère_de_sélection
GROUP BY liste_de_champs_de_groupe
HAVING critère_de_groupe
Une instruction SELECT qui contient une clause HAVING utilise les arguments suivants :
liste_de_champs Le nom du ou des champ(s) à extraire ainsi que les pseudonymes de noms de champ, les fonctions
de regroupements SQL, les attributs de sélection (ALL, DISTINCT) ou d'autres options pour l'instruction SELECT.
table Le nom de la table d'où les enregistrements seront extraits. Pour plus d'informations, voir la clause FROM.
critère_de_sélection Critère de sélection. Si l'instruction contient une clause WHERE, Microsoft Access regroupe les
valeurs après avoir appliqué aux enregistrements les conditions définies dans WHERE.
liste_de_champs_de_groupe Les noms de maximum 10 champs utilisés pour regrouper des enregistrements. L'ordre
des noms de champ dans liste_de_champs_de_groupe détermine les niveaux de regroupement, du plus
élevé au plus bas.
critère_de_groupe Une expression qui détermine les enregistrements regroupés qui seront affichés.
La clause HAVING est facultative.
La clause HAVING est semblable à WHERE. WHERE détermine les enregistrements qui sont sélectionnés. Une
fois les enregistrements regroupés par GROUP BY, HAVING détermine les enregistrements qui seront affichés.