Seskupit podle klauzule (Visual Basic)
Skupiny prvků výsledek dotazu.Lze také použít agregační funkce pro každou skupinu.Seskupení operace je založena na jeden nebo více klíčů.
Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
Into aggregateList
Části
Termín |
Definice |
listField1, listField2 |
Nepovinné.Jedno nebo více polí dotazu proměnné nebo proměnné, které explicitně určit pole, které mají být zahrnuty v seskupených výsledků.Pokud nejsou zadány žádné pole, všechna pole dotazu proměnné nebo proměnné jsou zahrnuty v seskupených výsledků. |
keyExp1 |
Povinné.Výraz určující klíč použít k určení skupin prvků.Můžete určit více než jeden klíč k určení složený klíč. |
keyExp2 |
Nepovinné.Jeden nebo více dalších klíčů, které jsou kombinovány s keyExp1 vytvořit složený klíč. |
aggregateList |
Povinné.Jeden nebo více výrazů, které určit, jak jsou agregovány skupin.Chcete-li určit název členu seskupených výsledků, použijte Group klíčové slovo může být v obou těchto forem:
-nebo-
Můžete také zahrnout agregační funkce pro skupiny. |
Poznámky
Můžete použít Group By klauzule rozdělit do skupin výsledků dotazu.Sdružení je založeno na klíč nebo složený klíč, sestávající z více klíčů.Prvky, které jsou spojeny s odpovídajícími hodnotami klíče jsou součástí stejné skupiny.
Použití aggregateList parametr Into klauzule a Group klíčové slovo určit název členu, který se používá jako odkaz na skupinu.Můžete také zahrnout agregační funkce v Into klauzule vypočítat hodnoty pro seskupené prvky.Seznam standardních agregačních funkcí naleznete v tématu Agregační klauzule (Visual Basic).
Příklad
Následující příklad kódu skupiny seznam zákazníků podle jejich umístění (země/oblast) a obsahuje počet zákazníků v každé skupině.Výsledky jsou řazeny podle názvu země/oblast.Seskupené výsledky jsou řazeny 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
Viz také
Referenční dokumentace
Vyberte klauzule (Visual Basic)
Agregační klauzule (Visual Basic)
Klauzule Join skupiny (Visual Basic)
Koncepty
Úvod do jazyka Visual Basic LINQ