Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Группируемые элементы результата запроса. Можно также использовать для применения агрегатных функций к каждой группе. Операция группировки основана на одном или нескольких ключах.
Синтаксис
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