Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gruppiert die Elemente eines Abfrageergebnisses. Kann auch verwendet werden, um Aggregatfunktionen auf jede Gruppe anzuwenden. Der Gruppierungsvorgang basiert auf einem oder mehreren Schlüsseln.
Syntax
Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
Into aggregateList
-oder-
Group [ listField1 [, listField2 [...] ] By alias1 = keyExp1 [, alias2 = keyExp2 [...] ]
Into aggregateList
Bestandteile
listField1,listField2Wahlfrei. Mindestens ein Feld der Abfragevariable oder -variablen, die explizit die Felder identifizieren, die in das gruppierte Ergebnis eingeschlossen werden sollen. Wenn keine Felder angegeben werden, werden alle Felder der Abfragevariablen oder -variablen in das gruppierte Ergebnis eingeschlossen.
alias1,alias2Wahlfrei. Namen, die den Gruppierungsschlüsseln zugewiesen sind. Wenn Aliase bereitgestellt werden, können sie im Abfrageergebnis anstelle der Schlüsselausdrücke referenziert werden.
keyExp1Erforderlich. Ein Ausdruck, der den Schlüssel identifiziert, der zum Bestimmen der Gruppen von Elementen verwendet werden soll. Sie können mehrere Schlüssel angeben, um einen zusammengesetzten Schlüssel anzugeben.
keyExp2Wahlfrei. Ein oder mehrere zusätzliche Schlüssel, die kombiniert
keyExp1werden, um einen zusammengesetzten Schlüssel zu erstellen.aggregateListErforderlich. Mindestens ein Ausdruck, der angibt, wie die Gruppen aggregiert werden. Um einen Membernamen für die gruppierten Ergebnisse zu identifizieren, verwenden Sie das
GroupSchlüsselwort, das sich in einer der folgenden Formen befinden kann:Into Group-oder-
Into <alias> = GroupSie können auch Aggregatfunktionen einschließen, die auf die Gruppe angewendet werden sollen.
Bemerkungen
Sie können die Group By Klausel verwenden, um die Ergebnisse einer Abfrage in Gruppen zu unterteilen. Die Gruppierung basiert auf einem Schlüssel oder einem zusammengesetzten Schlüssel, der aus mehreren Schlüsseln besteht. Elemente, die übereinstimmenden Schlüsselwerten zugeordnet sind, sind in derselben Gruppe enthalten.
Sie verwenden den aggregateList Parameter der Into Klausel und das Group Schlüsselwort, um den Membernamen zu identifizieren, der zum Verweisen auf die Gruppe verwendet wird. Sie können auch Aggregatfunktionen in die Into Klausel einschließen, um Werte für die gruppierten Elemente zu berechnen. Eine Liste der Standardaggregatfunktionen finden Sie unter "Aggregatklausel".
Beispiel
Im folgenden Codebeispiel wird eine Liste von Kunden basierend auf ihrem Standort (Land/Region) gruppiert und eine Anzahl der Kunden in jeder Gruppe bereitgestellt. Die Ergebnisse werden nach dem Namen des Landes/der Region sortiert. Die gruppierten Ergebnisse werden nach Ortsnamen sortiert.
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