Clausola Group By (Visual Basic)Group By Clause (Visual Basic)

Raggruppa gli elementi di un risultato della query.Groups the elements of a query result. Può essere usata anche per applicare funzioni di aggregazione a ogni gruppo.Can also be used to apply aggregate functions to each group. L'operazione di raggruppamento è basata su una o più chiavi.The grouping operation is based on one or more keys.

SintassiSyntax

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

PartiParts

  • listField1, listField2listField1, listField2

    facoltativo.Optional. Uno o più campi della variabile o delle variabili di query che identificano in modo esplicito i campi da includere nel risultato raggruppato.One or more fields of the query variable or variables that explicitly identify the fields to be included in the grouped result. Se non sono specificati campi, tutti i campi della variabile o delle variabili di query vengono inclusi nel risultato raggruppato.If no fields are specified, all fields of the query variable or variables are included in the grouped result.

  • keyExp1

    Obbligatorio.Required. Espressione che identifica la chiave da usare per determinare i gruppi di elementi.An expression that identifies the key to use to determine the groups of elements. È possibile specificare più di una chiave per specificare una chiave composta.You can specify more than one key to specify a composite key.

  • keyExp2

    facoltativo.Optional. Uno o più tasti aggiuntivi che vengono combinati con keyExp1 per creare una chiave composta.One or more additional keys that are combined with keyExp1 to create a composite key.

  • aggregateList

    Obbligatorio.Required. Una o più espressioni che identificano come vengono aggregati i gruppi.One or more expressions that identify how the groups are aggregated. Per identificare un nome di membro per i risultati raggruppati, usare la parola chiave Group , che può essere in uno dei seguenti formati:To identify a member name for the grouped results, use the Group keyword, which can be in either of the following forms:

    Into Group  
    

    -oppure--or-

    Into <alias> = Group  
    

    È anche possibile includere funzioni di aggregazione da applicare al gruppo.You can also include aggregate functions to apply to the group.

NoteRemarks

È possibile usare la clausola Group By per suddividere i risultati di una query in gruppi.You can use the Group By clause to break the results of a query into groups. Il raggruppamento è basato su una chiave o una chiave composta costituita da più chiavi.The grouping is based on a key or a composite key consisting of multiple keys. Gli elementi associati ai valori della chiave corrispondenti vengono inclusi nello stesso gruppo.Elements that are associated with matching key values are included in the same group.

Per identificare il nome del membro che viene usato per fare riferimento al gruppo, usare il parametro aggregateList della clausola Into e la parola chiave Group .You use the aggregateList parameter of the Into clause and the Group keyword to identify the member name that is used to reference the group. È anche possibile includere funzioni di aggregazione nella clausola Into per calcolare i valori per gli elementi raggruppati.You can also include aggregate functions in the Into clause to compute values for the grouped elements. Per un elenco di funzioni di aggregazione standard, vedere Aggregate Clause.For a list of standard aggregate functions, see Aggregate Clause.

EsempioExample

L'esempio di codice seguente raggruppa un elenco di clienti in base alla relativa posizione (paese/area geografica) e fornisce un conteggio dei clienti in ogni gruppo.The following code example groups a list of customers based on their location (country/region) and provides a count of the customers in each group. I risultati vengono ordinati in base al nome del paese/area geografica.The results are ordered by country/region name. I risultati raggruppati vengono ordinati in base al nome della città.The grouped results are ordered by city name.

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

Vedere ancheSee also