Share via


Groeperen op component (Visual Basic)

Hiermee worden de elementen van een queryresultaat gegroepeerd. Kan ook worden gebruikt om statistische functies toe te passen op elke groep. De groeperingsbewerking is gebaseerd op een of meer sleutels.

Syntaxis

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

generator

  • listField1, listField2

    Optioneel. Een of meer velden van de queryvariabele of -variabelen waarmee expliciet de velden worden geïdentificeerd die moeten worden opgenomen in het gegroepeerde resultaat. Als er geen velden zijn opgegeven, worden alle velden van de queryvariabele of -variabelen opgenomen in het gegroepeerde resultaat.

  • keyExp1

    Vereist. Een expressie die de sleutel identificeert die moet worden gebruikt om de groepen elementen te bepalen. U kunt meer dan één sleutel opgeven om een samengestelde sleutel op te geven.

  • keyExp2

    Optioneel. Een of meer extra sleutels die worden gecombineerd met keyExp1 het maken van een samengestelde sleutel.

  • aggregateList

    Vereist. Een of meer expressies die bepalen hoe de groepen worden samengevoegd. Als u een lidnaam voor de gegroepeerde resultaten wilt identificeren, gebruikt u het Group trefwoord, dat zich in een van de volgende formulieren kan bevinden:

    Into Group  
    

    – of –

    Into <alias> = Group  
    

    U kunt ook statistische functies opnemen die op de groep moeten worden toegepast.

Opmerkingen

U kunt de Group By component gebruiken om de resultaten van een query in groepen op te splitsen. De groepering is gebaseerd op een sleutel of een samengestelde sleutel die bestaat uit meerdere sleutels. Elementen die zijn gekoppeld aan overeenkomende sleutelwaarden, worden opgenomen in dezelfde groep.

U gebruikt de aggregateList parameter van de Into component en het Group trefwoord om de lidnaam te identificeren die wordt gebruikt om naar de groep te verwijzen. U kunt ook statistische functies in de Into component opnemen om waarden voor de gegroepeerde elementen te berekenen. Zie Aggregaatcomponent voor een lijst met standaardaggregatiesfuncties.

Opmerking

In het volgende codevoorbeeld wordt een lijst met klanten gegroepeerd op basis van hun locatie (land/regio) en worden de klanten in elke groep geteld. De resultaten worden gesorteerd op land-/regionaam. De gegroepeerde resultaten worden gerangschikt op plaatsnaam.

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

Zie ook