Udostępnij za pośrednictwem


Grupuj według klauzuli (Visual Basic)

Grupuje elementy w wyniku kwerendy.Można również stosować funkcje agregujące dla każdej grupy.Operacja grupowania opiera się na jeden lub więcej kluczy.

Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
  Into aggregateList

Części

Termin

Definicja

listField1, listField2

Opcjonalne.Jedno lub więcej pól zmienna kwerendy lub zmiennych, które wyraźnie wskazać pola, które mają zostać uwzględnione w wyniku zgrupowane.Jeśli nie określono żadnych pól, wszystkich pól zmienna kwerendy lub zmienne znajdują się w wyniku zgrupowane.

keyExp1

Wymagane.Wyrażenie, które identyfikuje klucz do użycia w celu określenia grup elementów.Można określić więcej niż jednego klucza, aby określić klucz złożony.

keyExp2

Opcjonalne.Jeden lub więcej dodatkowych kluczy, które są połączone z keyExp1 utworzyć klucz złożony.

aggregateList

Wymagane.Jednego lub wielu wyrażeń, które identyfikują, jak są agregowane grup.Aby zidentyfikować nazwa członka pogrupowane wyniki, należy użyć Group słowa kluczowego, które mogą znajdować się w jednej z następujących form:

Into Group

- lub -

Into <alias> = Group

Może również zawierać funkcje agregujące, aby zastosować do grupy.

Uwagi

Można użyć Group By klauzuli podziału wyników kwerendy na grupy.Grupowanie jest oparty na klucz lub złożony klucz, składający się z wielu kluczy.W tej samej grupie znajdują się elementy, które są skojarzone z dopasowywania wartości klucza.

Za pomocą aggregateList parametr Into klauzuli i Group słowo kluczowe, aby zidentyfikować nazwa członka, który jest używany do grupy.Może również zawierać funkcje agregujące w Into klauzuli do obliczenia wartości dla zgrupowanych elementów.Aby uzyskać listę standardowych funkcji agregujących, zobacz Klauzula agregacji (Visual Basic).

Przykład

Poniższy przykład kodu grupy listy klientów na podstawie ich lokalizacji (kraju) i zapewnia liczba klientów w każdej grupie.Wyniki są uporządkowane według nazwy kraju.Pogrupowane wyniki są uporządkowane według nazwy miasta.

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

Zobacz też

Informacje

Wybierz klauzuli (Visual Basic)

Z klauzuli (Visual Basic)

Kolejność według klauzuli (Visual Basic)

Klauzula agregacji (Visual Basic)

Klauzula sprzężenia grupy (Visual Basic)

Koncepcje

Wprowadzenie do LINQ w języku Visual Basic

Inne zasoby

Kwerendy (Visual Basic)