Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Regroupe les éléments d’un résultat de requête. Peut également être utilisé pour appliquer des fonctions d’agrégation à chaque groupe. L’opération de regroupement est basée sur une ou plusieurs clés.
Syntaxe
Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
Into aggregateList
Pièces
listField1
,listField2
Optionnel. Un ou plusieurs champs de la variable de requête ou des variables qui identifient explicitement les champs à inclure dans le résultat groupé. Si aucun champ n’est spécifié, tous les champs de la variable de requête ou des variables sont inclus dans le résultat groupé.
keyExp1
Obligatoire. Expression qui identifie la clé à utiliser pour déterminer les groupes d’éléments. Vous pouvez spécifier plusieurs clés pour spécifier une clé composite.
keyExp2
Optionnel. Une ou plusieurs clés supplémentaires associées
keyExp1
à la création d’une clé composite.aggregateList
Obligatoire. Une ou plusieurs expressions qui identifient la façon dont les groupes sont agrégés. Pour identifier un nom de membre pour les résultats groupés, utilisez le
Group
mot clé, qui peut se trouver sous l’une des formes suivantes :Into Group
- ou -
Into <alias> = Group
Vous pouvez également inclure des fonctions d’agrégation à appliquer au groupe.
Remarques
Vous pouvez utiliser la Group By
clause pour décomposer les résultats d’une requête en groupes. Le regroupement est basé sur une clé ou une clé composite composée de plusieurs clés. Les éléments associés aux valeurs de clé correspondantes sont inclus dans le même groupe.
Vous utilisez le aggregateList
paramètre de la Into
clause et le Group
mot clé pour identifier le nom du membre utilisé pour référencer le groupe. Vous pouvez également inclure des fonctions d’agrégation dans la Into
clause pour calculer les valeurs des éléments groupés. Pour obtenir la liste des fonctions d’agrégation standard, consultez Clause d’agrégation.
Exemple :
L’exemple de code suivant regroupe une liste de clients en fonction de leur emplacement (pays/région) et fournit un nombre de clients dans chaque groupe. Les résultats sont classés par nom de pays/région. Les résultats regroupés sont classés par nom de ville.
Public Sub GroupBySample()
Dim customers = GetCustomerList()
Dim customersByCountry = From cust In customers
Order By cust.City
Group By CountryName = cust.Country
Into RegionalCustomers = Group, Count()
Order By CountryName
For Each country In customersByCountry
Console.WriteLine(country.CountryName &
" (" & country.Count & ")" & vbCrLf)
For Each customer In country.RegionalCustomers
Console.WriteLine(vbTab & customer.CompanyName &
" (" & customer.City & ")")
Next
Next
End Sub