Ordem por cláusula (Visual Basic)
Especifica a ordem de classificação para um resultado de consulta.
Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]
Partes
- orderExp1
Obrigatório.Um ou mais campos do resultado da consulta atual que identificam como pedir os valores retornados.Os nomes dos campos devem ser separados por vírgulas (,).Você pode identificar cada campo, como classificados em ordem crescente ou decrescente, usando o Ascending ou Descending as palavras-chave.Se nenhum Ascending ou Descending palavra-chave for especificado, a ordem de classificação padrão é crescente.Os campos de ordem de classificação são dadas a precedência da esquerda para a direita.
Comentários
Você pode usar o Order By cláusula para classificar os resultados de uma consulta.O Order By cláusula só pode classificar um resultado baseado na variável de intervalo para o escopo atual.Por exemplo, o Select cláusula introduz um novo escopo em uma expressão de consulta com novas variáveis de iteração para esse escopo.O intervalo de variáveis definidas antes de um Select cláusula em uma consulta não estão disponíveis após a Select cláusula.Portanto, se você deseja ordenar os resultados por um campo que não está disponível na Select cláusula, você deve colocar o Order By cláusula antes do Select cláusula.Um exemplo de quando você teria que fazer isso é quando você deseja classificar a sua consulta pelos campos que não são retornados como parte do resultado.
Ordem crescente ou decrescente para um campo é determinado pela implementação da IComparable interface para o tipo de dados do campo.Se o tipo de dados não implementa o IComparable interface, a ordem de classificação será ignorado.
Exemplo
A expressão de consulta a seguir usa uma cláusula From para declarar uma variável de intervalod book para a coleção books.O Order By cláusula classifica o resultado da consulta pelo preço em (o padrão) da ordem crescente.Livros com o mesmo preço são classificados por título em ordem crescente.O Select cláusula seleciona o Title e Price propriedades como os valores retornados pela consulta.
Dim titlesAscendingPrice = From book In books
Order By book.Price, book.Title
Select book.Title, book.Price
A seguinte consulta expressão usa a Order By cláusula para classificar o resultado da consulta pelo 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
A seguinte consulta expressão usa um Select cláusula para selecionar o título do livro, preço, data de publicação e autor.Em seguida, preenche o Title, Price, PublishDate, e Author campos de que a variável de intervalo para o novo escopo.O Order By cláusula ordena a nova variável de intervalo pelo 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
Referência
Selecione a cláusula (Visual Basic)
(Visual Basic) da cláusula FROM
Conceitos
Introdução ao LINQ em Visual Basic