Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Seskupí prvky výsledku dotazu. Dá se také použít k použití agregačních funkcí pro každou skupinu. Operace seskupení je založená na jednom nebo více klíčích.
Syntaxe
Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
Into aggregateList
nebo
Group [ listField1 [, listField2 [...] ] By alias1 = keyExp1 [, alias2 = keyExp2 [...] ]
Into aggregateList
Součástky
listField1,listField2Volitelný. Jedno nebo více polí proměnné dotazu nebo proměnných, která explicitně identifikují pole, která mají být zahrnuta do seskupeného výsledku. Pokud nejsou zadána žádná pole, jsou všechna pole proměnné dotazu nebo proměnných zahrnuta do seskupeného výsledku.
alias1,alias2Volitelný. Názvy přiřazené ke klíčům seskupení. Pokud jsou k dispozici aliasy, dají se místo klíčových výrazů odkazovat ve výsledku dotazu.
keyExp1Povinné. Výraz, který identifikuje klíč, který se má použít k určení skupin prvků. Můžete zadat více než jeden klíč pro zadání složeného klíče.
keyExp2Volitelný. Jeden nebo více dalších klíčů, které jsou kombinovány s
keyExp1cílem vytvořit složený klíč.aggregateListPovinné. Jeden nebo více výrazů, které identifikují agregaci skupin. Pokud chcete identifikovat název člena pro seskupené výsledky, použijte
Groupklíčové slovo, které může být v některé z následujících formulářů:Into Groupnebo
Into <alias> = GroupMůžete také zahrnout agregační funkce, které se mají použít pro skupinu.
Poznámky
Klauzuli Group By můžete použít k rozdělení výsledků dotazu do skupin. Seskupení vychází z klíče nebo složeného klíče, který se skládá z více klíčů. Prvky přidružené ke shodným hodnotám klíče jsou zahrnuty do stejné skupiny.
Pomocí aggregateList parametru Into klauzule a klíčového Group slova identifikujete název člena, který se používá k odkazování na skupinu. Do klauzule můžete zahrnout také agregační funkce Into , které počítají hodnoty pro seskupené prvky. Seznam standardních agregačních funkcí najdete v tématu Agregační klauzule.
Příklad
Následující příklad kódu seskupí seznam zákazníků na základě jejich umístění (země/oblasti) a poskytne počet zákazníků v každé skupině. Výsledky jsou seřazené podle názvu země nebo oblasti. Seskupené výsledky jsou seřazené podle názvu města.
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