Order By 절(Visual Basic)

쿼리 결과의 정렬 순서를 지정합니다.

구문

Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]

부분

orderExp1 필수입니다. 반환된 값을 정렬하는 방법을 식별하는 현재 쿼리 결과에서 하나 이상의 필드입니다. 필드 이름은 쉼표(,)로 구분해야 합니다. Ascending 또는 Descending 키워드를 사용하여 각 필드를 오름차순 또는 내림차순으로 정렬된 것으로 식별할 수 있습니다. Ascending 또는 Descending 키워드를 지정하지 않으면 기본 정렬 순서가 오름차순입니다. 정렬 순서 필드에는 왼쪽에서 오른쪽으로 우선 순위가 지정됩니다.

설명

Order By 절을 사용하여 쿼리 결과를 정렬할 수 있습니다. Order By 절은 현재 범위에 대한 범위 변수에 따라 결과를 정렬할 수 있습니다. 예를 들어 Select 절은 해당 범위에 대한 새 반복 변수가 있는 쿼리 식에 새 범위를 도입합니다. 쿼리의 Select 절 앞에 정의된 범위 변수는 Select 절 후에 사용할 수 없습니다. 따라서 Select 절에서 사용할 수 없는 필드로 결과를 정렬하려면 Order By 절을 Select 절 앞에 두어야 합니다. 이 작업을 수행해야 하는 경우의 한 가지 예는 결과의 일부로 반환되지 않은 필드를 기준으로 쿼리를 정렬하려는 경우입니다.

필드의 오름차순 및 내림차순 순서는 필드의 데이터 형식에 대한 IComparable 인터페이스의 구현에 따라 결정됩니다. 데이터 형식이 IComparable 인터페이스를 구현하지 않으면 정렬 순서가 무시됩니다.

예 1

다음 쿼리 식은 From 절을 사용하여 books 컬렉션에 대한 범위 변수 book를 선언합니다. Order By 절은 쿼리 결과를 오름차순(기본값)으로 정렬합니다. 가격이 같은 책은 제목별로 오름차순으로 정렬됩니다. Select 절은 쿼리에서 반환된 값으로 TitlePrice 속성을 선택합니다.

Dim titlesAscendingPrice = From book In books
                           Order By book.Price, book.Title
                           Select book.Title, book.Price

예제 2

다음 쿼리 식은 Order By 절을 사용하여 쿼리 결과를 가격을 기준으로 내림차순으로 정렬합니다. 가격이 같은 책은 제목별로 오름차순으로 정렬됩니다.

Dim titlesDescendingPrice = From book In books
                            Order By book.Price Descending, book.Title
                            Select book.Title, book.Price

예 3

다음 쿼리 식은 Select 절을 사용하여 책 제목, 가격, 게시 날짜 및 작성자를 선택합니다. 그런 다음 새 범위에 대한 범위 변수의 Title, Price, PublishDateAuthor 필드를 채웁니다. Order By 절은 작성자 이름, 책 제목 및 가격별로 새 범위 변수를 정렬합니다. 각 열은 기본 순서(오름차순)로 정렬됩니다.

Dim bookOrders =
  From book In books
  Select book.Title, book.Price, book.PublishDate, book.Author
  Order By Author, Title, Price

참고 항목