Partilhar via


Ordenar por cláusula (Visual Basic)

Especifica a ordem de classificação para 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 dos campos devem ser separados por vírgulas (,). Você pode identificar cada campo como classificado em ordem crescente ou decrescente usando as Ascending palavras-chave ou Descending . Se no Ascending ou Descending palavra-chave for especificado, a ordem de classificação padrão será crescente. Os campos de ordem de classificação têm 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 range 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. As 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 está disponível na Select cláusula, você deve colocar a Order By cláusula antes da Select cláusula. Um exemplo de quando você teria que fazer isso é quando 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). Os livros com o mesmo preço são ordenados por título por ordem crescente. A Select cláusula seleciona as Title propriedades e Price como 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. Os livros com o mesmo preço são ordenados por título por 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 preenche os Titlecampos , Price, PublishDatee Author 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, em seguida, 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