Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Группируемые элементы результата запроса. Можно также использовать для применения агрегатных функций к каждой группе. Операция группировки основана на одном или нескольких ключах.
Синтаксис
Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
Into aggregateList
Комплектующие
listField1
,listField2
Необязательно. Одно или несколько полей переменной запроса или переменных, которые явно определяют поля, которые должны быть включены в сгруппированные результаты. Если поля не указаны, все поля переменной запроса или переменные включаются в сгруппированные результаты.
keyExp1
Обязательное. Выражение, определяющее ключ, используемый для определения групп элементов. Можно указать несколько ключей, чтобы указать составной ключ.
keyExp2
Необязательно. Один или несколько дополнительных ключей, которые объединяются с
keyExp1
созданием составного ключа.aggregateList
Обязательное. Одно или несколько выражений, определяющих агрегированную обработку групп. Чтобы определить имя члена для сгруппированных результатов, используйте
Group
ключевое слово, которое может находиться в любой из следующих форм:Into Group
-или-
Into <alias> = Group
Вы также можете включить агрегатные функции для применения к группе.
Замечания
Предложение можно использовать Group By
для разрыва результатов запроса на группы. Группирование основано на ключе или составном ключе, состоящем из нескольких ключей. Элементы, связанные с соответствующими значениями ключей, включаются в ту же группу.
Параметр предложения и Group
ключевое Into
слово используются aggregateList
для идентификации имени члена, используемого для ссылки на группу. Вы также можете включить агрегатные функции в Into
предложение для вычислений значений сгруппированных элементов. Список стандартных статистических функций см. в предложении "Агрегат".
Пример
Следующий пример кода группируют список клиентов в зависимости от их расположения (страны или региона) и предоставляют количество клиентов в каждой группе. Результаты упорядочены по имени страны или региона. Сгруппированные результаты упорядочены по имени города.
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