Sdílet prostřednictvím


Group By – 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:

Into Group

-nebo-

Into <alias> = Group

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 Aggregate – 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

Select – klauzule (Visual Basic)

From – klauzule (Visual Basic)

Order By – klauzule (Visual Basic)

Aggregate – klauzule (Visual Basic)

Group Join – klauzule (Visual Basic)

Koncepty

Představení technologie LINQ v jazyce Visual Basic

Další zdroje

Dotazy (Visual Basic)