Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Agrupa os elementos de um resultado de consulta. Também pode ser usado para aplicar funções agregadas a cada grupo. A operação de agrupamento é baseada em uma ou mais chaves.
Sintaxe
Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
Into aggregateList
-ou-
Group [ listField1 [, listField2 [...] ] By alias1 = keyExp1 [, alias2 = keyExp2 [...] ]
Into aggregateList
Partes
listField1,listField2Opcional. Um ou mais campos da variável ou variáveis de consulta que identificam explicitamente os campos a serem incluídos no resultado agrupado. Se nenhum campo for especificado, todos os campos da variável ou variáveis de consulta serão incluídos no resultado agrupado.
alias1,alias2Opcional. Nomes atribuídos às chaves de agrupamento. Se os aliases forem fornecidos, eles poderão ser referenciados no resultado da consulta em vez das expressões de chave.
keyExp1Obrigatório Uma expressão que identifica a chave a ser usada para determinar os grupos de elementos. Você pode especificar mais de uma chave para especificar uma chave composta.
keyExp2Opcional. Uma ou mais chaves adicionais que são combinadas para
keyExp1criar uma chave composta.aggregateListObrigatório Uma ou mais expressões que identificam como os grupos são agregados. Para identificar um nome de membro para os resultados agrupados, use a
Grouppalavra-chave, que pode estar em qualquer uma das seguintes formas:Into Group-ou-
Into <alias> = GroupVocê também pode incluir funções agregadas para aplicar ao grupo.
Observações
Você pode usar a Group By cláusula para dividir os resultados de uma consulta em grupos. O agrupamento é baseado em uma chave ou uma chave composta que consiste em várias chaves. Os elementos associados a valores de chave correspondentes são incluídos no mesmo grupo.
Use o aggregateList parâmetro da cláusula e a Into palavra-chave para identificar o nome do Group membro usado para fazer referência ao grupo. Você também pode incluir funções agregadas Into na cláusula para calcular valores para os elementos agrupados. Para obter uma lista de funções agregadas padrão, consulte Cláusula agregada.
Exemplo
O exemplo de código a seguir agrupa uma lista de clientes com base em sua localização (país/região) e fornece uma contagem dos clientes em cada grupo. Os resultados são ordenados pelo nome do país/região. Os resultados agrupados são ordenados pelo nome da cidade.
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