Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Agrupa los elementos de un resultado de consulta. También se puede usar para aplicar funciones de agregado a cada grupo. La operación de agrupación se basa en una o varias claves.
Sintaxis
Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
Into aggregateList
-o-
Group [ listField1 [, listField2 [...] ] By alias1 = keyExp1 [, alias2 = keyExp2 [...] ]
Into aggregateList
Partes
listField1,listField2Opcional. Uno o varios campos de la variable de consulta o variables que identifican explícitamente los campos que se incluirán en el resultado agrupado. Si no se especifica ningún campo, todos los campos de la variable de consulta o variables se incluyen en el resultado agrupado.
alias1,alias2Opcional. Nombres asignados a las claves de agrupación. Si se proporcionan alias, se puede hacer referencia a ellos en el resultado de la consulta en lugar de en las expresiones clave.
keyExp1Obligatorio. Expresión que identifica la clave que se va a usar para determinar los grupos de elementos. Puede especificar más de una clave para especificar una clave compuesta.
keyExp2Opcional. Una o varias claves adicionales que se combinan con
keyExp1para crear una clave compuesta.aggregateListObligatorio. Una o varias expresiones que identifican cómo se agregan los grupos. Para identificar un nombre de miembro para los resultados agrupados, use la
Grouppalabra clave , que puede estar en cualquiera de las formas siguientes:Into Group-o-
Into <alias> = GroupTambién puede incluir funciones de agregado que se aplicarán al grupo.
Observaciones
Puede usar la Group By cláusula para dividir los resultados de una consulta en grupos. La agrupación se basa en una clave o en una clave compuesta formada por varias claves. Los elementos asociados a los valores de clave coincidentes se incluyen en el mismo grupo.
Use el aggregateList parámetro de la Into cláusula y la Group palabra clave para identificar el nombre de miembro que se usa para hacer referencia al grupo. También puede incluir funciones de agregado en la Into cláusula para calcular los valores de los elementos agrupados. Para obtener una lista de las funciones de agregado estándar, consulte Cláusula aggregate.
Ejemplo
En el ejemplo de código siguiente se agrupa una lista de clientes en función de su ubicación (país o región) y se proporciona un recuento de los clientes de cada grupo. Los resultados se ordenan por nombre de país o región. Los resultados agrupados se ordenan por nombre de ciudad.
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