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

Specifica l'ordinamento per il risultato di una query.Specifies the sort order for a query result.

SintassiSyntax

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

PartiParts

orderExp1
Obbligatorio.Required. Uno o più campi dal risultato della query corrente che identificano la modalità di ordinamento dei 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 le Ascending Descending parole chiave o.You can identify each field as sorted in ascending or descending order by using the Ascending or Descending keywords. Se non Ascending Descending viene specificata alcuna parola chiave o, l'ordinamento predefinito è crescente.If no Ascending or Descending keyword is specified, the default sort order is ascending. Ai campi di ordinamento viene assegnata la precedenza da sinistra a destra.The sort order fields are given precedence from left to right.

CommentiRemarks

È possibile utilizzare la Order By clausola per ordinare i risultati di una query.You can use the Order By clause to sort the results of a query. La Order By clausola può ordinare solo un risultato in base alla 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, la 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 di intervallo definite prima Select di una clausola in una query non sono disponibili dopo la Select clausola.Range variables defined before a Select clause in a query are not available after the Select clause. Se pertanto si desidera ordinare i risultati in base a un campo non disponibile nella Select clausola, è necessario inserire la Order By clausola prima della 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 la 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.

L'ordine crescente e decrescente per un campo è determinato dall'implementazione dell' 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 l' IComparable interfaccia, l'ordinamento viene ignorato.If the data type does not implement the IComparable interface, the sort order is ignored.

EsempioExample

Nell'espressione di query seguente viene utilizzata una From clausola per dichiarare una variabile di intervallo book per la books raccolta.The following query expression uses a From clause to declare a range variable book for the books collection. La Order By clausola Ordina il risultato della query in base al prezzo in ordine crescente (impostazione predefinita).The Order By clause sorts the query result by price in ascending order (the default). I libri con lo stesso prezzo vengono ordinati in base al titolo in ordine crescente.Books with the same price are sorted by title in ascending order. La Select clausola seleziona le Title Price proprietà e 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

Nell'espressione di query seguente viene utilizzata la Order By clausola per ordinare il risultato 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. I libri con lo stesso prezzo vengono ordinati in base al 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

Nell'espressione di query seguente viene utilizzata una Select clausola per selezionare titolo, prezzo, data di pubblicazione e autore.The following query expression uses a Select clause to select the book title, price, publish date, and author. Quindi compila i Title Price campi,, PublishDate e Author 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. La Order By clausola Ordina la nuova variabile di intervallo in base al nome dell'autore, al titolo del libro e quindi al prezzo.The Order By clause orders the new range variable by author name, book title, and then price. Ogni colonna viene ordinata in base all'ordine predefinito (ascendente).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