Group By 절(Visual Basic)
쿼리 결과의 요소를 그룹화합니다. 각 그룹에 집계 함수를 적용하는 데 사용할 수도 있습니다. 그룹화 작업은 하나 이상의 키를 기반으로 합니다.
구문
Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
Into aggregateList
부분
listField1
,listField2
선택 사항. 그룹화된 결과에 포함할 필드를 명시적으로 식별하는 쿼리 변수의 하나 이상 필드입니다. 필드를 지정하지 않으면 쿼리 변수의 모든 필드가 그룹화된 결과에 포함됩니다.
keyExp1
필수입니다. 요소 그룹을 결정하는 데 사용할 키를 식별하는 식입니다. 둘 이상의 키를 지정하여 복합 키를 지정할 수 있습니다.
keyExp2
선택 사항. 복합 키를 만들기 위해
keyExp1
와 결합되는 하나 이상의 추가 키입니다.aggregateList
필수입니다. 그룹의 집계 방법을 식별하는 하나 이상의 식입니다. 그룹화된 결과의 멤버 이름을 식별하려면 다음 형식 중 하나일 수 있는
Group
키워드를 사용합니다.Into Group
또는
Into <alias> = Group
그룹에 적용할 집계 함수를 포함할 수도 있습니다.
설명
Group By
절을 사용하여 쿼리 결과를 그룹으로 나눌 수 있습니다. 그룹화는 키 또는 여러 키로 구성된 복합 키를 기반으로 합니다. 일치하는 키 값과 연결된 요소는 동일한 그룹에 포함됩니다.
aggregateList
절의 Into
매개 변수와 Group
키워드를 사용하여 그룹을 참조하는 데 사용되는 멤버 이름을 식별합니다. Into
절에 집계 함수를 포함하여 그룹화된 요소의 값을 계산할 수도 있습니다. 표준 집계 함수 목록은 Aggregate Clause을 참조하세요.
예시
다음 코드 예에서는 해당 위치(국가/지역)를 기준으로 고객 목록을 그룹화하고 각 그룹에 있는 고객 수를 제공합니다. 결과는 국가/지역 이름별로 정렬됩니다. 그룹화된 결과는 도시 이름별로 정렬됩니다.
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
참고 항목
.NET