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