Clausola Order By (Visual Basic)Order By Clause (Visual Basic)

Specifica l'ordinamento dei risultati della query.Specifies the sort order for a query result.

SintassiSyntax

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

PartiParts

orderExp1
Obbligatorio.Required. Uno o più campi dai risultati della query corrente che identificano come ordinare i valori restituiti.One or more fields from the current query result that identify how to order the returned values. I nomi dei campi devono essere separati da virgole (,).The field names must be separated by commas (,). È possibile identificare ogni campo, come ordinato in ordine crescente o decrescente usando la Ascending o Descending parole chiave.You can identify each field as sorted in ascending or descending order by using the Ascending or Descending keywords. Se nessun Ascending o Descending (parola chiave) viene specificato, l'ordinamento predefinito è crescente.If no Ascending or Descending keyword is specified, the default sort order is ascending. I campi di ordinamento ha la precedenza da sinistra a destra.The sort order fields are given precedence from left to right.

NoteRemarks

È possibile usare il Order By clausola per ordinare i risultati di una query.You can use the Order By clause to sort the results of a query. Il Order By clausola solo possibile ordinare un risultato basato sulla variabile di intervallo per l'ambito corrente.The Order By clause can only sort a result based on the range variable for the current scope. Ad esempio, il Select clausola introduce un nuovo ambito in un'espressione di query con nuove variabili di iterazione per tale ambito.For example, the Select clause introduces a new scope in a query expression with new iteration variables for that scope. Le variabili definite prima di intervallo un Select clausola in una query non sono disponibili dopo il Select clausola.Range variables defined before a Select clause in a query are not available after the Select clause. Pertanto, se si desidera ordinare i risultati tramite un campo che non è disponibile nel Select clausola, è necessario inserire il Order By clausola prima il Select clausola.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. Un esempio di quando è necessario eseguire questa operazione è quando si desidera ordinare query in base a campi che non vengono restituiti come parte del risultato.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.

Ordine crescente o decrescente per un campo è determinato dall'implementazione del IComparable interfaccia per il tipo di dati del 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 il tipo di dati non implementa il IComparable interfaccia, l'ordinamento viene ignorato.If the data type does not implement the IComparable interface, the sort order is ignored.

EsempioExample

La query seguente espressione Usa un From clausola per dichiarare una variabile di intervallo book per il books raccolta.The following query expression uses a From clause to declare a range variable book for the books collection. Il Order By clausola consente di ordinare i risultati della query in base al prezzo in modo crescente (impostazione predefinita).The Order By clause sorts the query result by price in ascending order (the default). Documentazione con lo stesso prezzo sono ordinati per titolo in ordine crescente.Books with the same price are sorted by title in ascending order. Il Select clausola consente di selezionare il Title e Price proprietà come valori restituiti dalla query.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

EsempioExample

La query seguente Usa espressione di Order By clausola per ordinare i risultati della query in base al prezzo in ordine decrescente.The following query expression uses the Order By clause to sort the query result by price in descending order. Documentazione con lo stesso prezzo sono ordinati per titolo in ordine 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

EsempioExample

La query seguente espressione utilizza un Select clausola per selezionare il titolo del libro, prezzo, data di pubblicazione e la creazione.The following query expression uses a Select clause to select the book title, price, publish date, and author. Viene quindi popolato il Title, Price, PublishDate, e Author campi della variabile di intervallo per il nuovo ambito.It then populates the Title, Price, PublishDate, and Author fields of the range variable for the new scope. Il Order By clausola ordina la nuova variabile di intervallo per il nome dell'autore, titolo del libro e prezzo.The Order By clause orders the new range variable by author name, book title, and then price. Ogni colonna è ordinata l'ordine predefinito (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

Vedere ancheSee also