다음을 통해 공유


Group By 절(Visual Basic)

쿼리 결과의 요소를 그룹화합니다. 집계 함수를 각 그룹에 적용하는 데 사용할 수도 있습니다. 그룹화 작업은 하나 이상의 키를 기반으로 합니다.

문법

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 사용하여 쿼리 결과를 그룹으로 끊을 수 있습니다. 그룹화는 여러 키로 구성된 키 또는 복합 키를 기반으로 합니다. 일치하는 키 값과 연결된 요소는 동일한 그룹에 포함됩니다.

절의 aggregateListInto 매개 변수와 키워드를 Group 사용하여 그룹을 참조하는 데 사용되는 멤버 이름을 식별합니다. 그룹화된 요소의 Into 값을 계산하기 위해 절에 집계 함수를 포함할 수도 있습니다. 표준 집계 함수 목록은 Aggregate 절을 참조하세요.

예시

다음 코드 예제에서는 위치(국가/지역)를 기준으로 고객 목록을 그룹화하고 각 그룹의 고객 수를 제공합니다. 결과는 국가/지역 이름으로 정렬됩니다. 그룹화된 결과는 도시 이름으로 정렬됩니다.

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

참고하십시오