Cláusula Order By (Visual Basic)Order By Clause (Visual Basic)

Especifica a ordem de classificação para um resultado de consulta.Specifies the sort order for a query result.

SintaxeSyntax

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

PartesParts

orderExp1
Obrigatórios.Required. Um ou mais campos do resultado da consulta atual que identificam como ordenar os valores retornados.One or more fields from the current query result that identify how to order the returned values. Os nomes de campo devem ser separados por vírgulas (,).The field names must be separated by commas (,). Você pode identificar cada campo como classificado em ordem crescente ou decrescente usando as Ascending Descending palavras-chave ou.You can identify each field as sorted in ascending or descending order by using the Ascending or Descending keywords. Se nenhuma Ascending Descending palavra-chave ou for especificada, a ordem de classificação padrão será crescente.If no Ascending or Descending keyword is specified, the default sort order is ascending. Os campos de ordem de classificação recebem precedência da esquerda para a direita.The sort order fields are given precedence from left to right.

ComentáriosRemarks

Você pode usar a Order By cláusula para classificar os resultados de uma consulta.You can use the Order By clause to sort the results of a query. A Order By cláusula só pode classificar um resultado com base na variável de intervalo para o escopo atual.The Order By clause can only sort a result based on the range variable for the current scope. Por exemplo, a Select cláusula apresenta um novo escopo em uma expressão de consulta com novas variáveis de iteração para esse escopo.For example, the Select clause introduces a new scope in a query expression with new iteration variables for that scope. Variáveis de intervalo definidas antes de uma Select cláusula em uma consulta não estão disponíveis após a Select cláusula.Range variables defined before a Select clause in a query are not available after the Select clause. Portanto, se você quiser ordenar os resultados por um campo que não está disponível na Select cláusula, deverá colocar a Order By cláusula antes da Select cláusula.Therefore, if you want to order your results by a field that is not available in the Select clause, you must put the Order By clause before the Select clause. Um exemplo de quando você precisa fazer isso é quando deseja classificar sua consulta por campos que não são retornados como parte do resultado.One example of when you would have to do this is when you want to sort your query by fields that are not returned as part of the result.

Ordem crescente e decrescente para um campo é determinada pela implementação da IComparable interface para o tipo de dados do campo.Ascending and descending order for a field is determined by the implementation of the IComparable interface for the data type of the field. Se o tipo de dados não implementar a IComparable interface, a ordem de classificação será ignorada.If the data type does not implement the IComparable interface, the sort order is ignored.

ExemploExample

A expressão de consulta a seguir usa uma From cláusula para declarar uma variável book de intervalo para a books coleção.The following query expression uses a From clause to declare a range variable book for the books collection. A Order By cláusula classifica o resultado da consulta por preço em ordem crescente (o padrão).The Order By clause sorts the query result by price in ascending order (the default). Os livros com o mesmo preço são classificados por título em ordem crescente.Books with the same price are sorted by title in ascending order. A Select cláusula seleciona as Title Price Propriedades e como os valores retornados pela consulta.The Select clause selects the Title and Price properties as the values returned by the query.

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

ExemploExample

A expressão de consulta a seguir usa a Order By cláusula para classificar o resultado da consulta por preço em ordem decrescente.The following query expression uses the Order By clause to sort the query result by price in descending order. Os livros com o mesmo preço são classificados por título em ordem crescente.Books with the same price are sorted by title in ascending order.

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

ExemploExample

A expressão de consulta a seguir usa uma Select cláusula para selecionar o título do livro, o preço, a data de publicação e o autor.The following query expression uses a Select clause to select the book title, price, publish date, and author. Em seguida, ele preenche Title os Price campos,, PublishDate e Author da variável de intervalo para o novo escopo.It then populates the Title, Price, PublishDate, and Author fields of the range variable for the new scope. A Order By cláusula ordena a nova variável de intervalo por nome do autor, título do livro e, em seguida, Price.The Order By clause orders the new range variable by author name, book title, and then price. Cada coluna é classificada na ordem padrão (em ordem crescente).Each column is sorted in the default order (ascending).

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

Confira tambémSee also