Compartilhar via


Cláusula Order By (Visual Basic)

Especifica a ordem de classificação de um resultado de consulta.

Sintaxe

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

Partes

orderExp1 Necessário. Um ou mais campos do resultado da consulta atual que identificam como ordenar os valores retornados. Os nomes de campo devem ser separados por vírgulas (,). Você pode identificar cada campo como classificado em ordem crescente ou decrescente usando as palavras-chave ou Descending palavras-chaveAscending. Se nenhuma palavra-chave ou Descending não Ascending for especificada, a ordem de classificação padrão será crescente. Os campos de ordem de classificação recebem precedência da esquerda para a direita.

Observações

Você pode usar a Order By cláusula para classificar os resultados de uma consulta. A Order By cláusula só pode classificar um resultado com base na variável de intervalo para o escopo atual. Por exemplo, a Select cláusula introduz um novo escopo em uma expressão de consulta com novas variáveis de iteração para esse escopo. 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. Portanto, se você quiser ordenar seus resultados por um campo que não esteja disponível na Select cláusula, deverá colocar a Order By cláusula antes da Select cláusula. Um exemplo de quando você teria que fazer isso é quando você deseja classificar sua consulta por campos que não são retornados como parte do resultado.

A ordem crescente e decrescente de um campo é determinada pela implementação da IComparable interface para o tipo de dados do campo. Se o tipo de dados não implementar a IComparable interface, a ordem de classificação será ignorada.

Exemplo 1

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. A Order By cláusula classifica o resultado da consulta por preço em ordem crescente (o padrão). Livros com o mesmo preço são classificados por título em ordem crescente. A Select cláusula seleciona as propriedades e Price como Title os valores retornados pela consulta.

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

Exemplo 2

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. Livros com o mesmo preço são classificados por título em ordem crescente.

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

Exemplo 3

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. Em seguida, ele popula os Titlecampos , Pricee AuthorPublishDate, da variável de intervalo para o novo escopo. A Order By cláusula ordena a nova variável de intervalo por nome do autor, título do livro e preço. Cada coluna é classificada na ordem padrão (crescente).

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

Consulte também