Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Specifica l'ordinamento per un risultato della query.
Sintassi
Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]
Parti
orderExp1 Obbligatorio. Uno o più campi del risultato della query corrente che identificano come ordinare i valori restituiti. I nomi dei campi devono essere separati da virgole (,). È possibile identificare ogni campo come ordinato in ordine crescente o decrescente usando le Ascending parole chiave o Descending . Se non viene specificata alcuna Ascending parola chiave o Descending , l'ordinamento predefinito è crescente. Ai campi di ordinamento viene assegnata la precedenza da sinistra a destra.
Osservazioni:
È possibile usare la Order By clausola per ordinare i risultati di una query. La Order By clausola può ordinare solo un risultato in base alla variabile di intervallo per l'ambito corrente. Ad esempio, la Select clausola introduce un nuovo ambito in un'espressione di query con nuove variabili di iterazione per tale ambito. Le variabili di intervallo definite prima di una Select clausola in una query non sono disponibili dopo la Select clausola . Pertanto, se 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 . Un esempio di quando è necessario eseguire questa operazione è quando si vuole ordinare la query in base ai campi che non vengono restituiti come parte del risultato.
L'ordine crescente e decrescente per un campo è determinato dall'implementazione dell'interfaccia IComparable per il tipo di dati del campo. Se il tipo di dati non implementa l'interfaccia IComparable , l'ordinamento viene ignorato.
Esempio 1
Nell'espressione di query seguente viene utilizzata una From clausola per dichiarare una variabile book di intervallo per la books raccolta. La Order By clausola ordina il risultato della query in base al prezzo in ordine crescente (impostazione predefinita). I libri con lo stesso prezzo vengono ordinati in base al titolo in ordine crescente. La Select clausola seleziona le Title proprietà e Price come valori restituiti dalla query.
Dim titlesAscendingPrice = From book In books
Order By book.Price, book.Title
Select book.Title, book.Price
Esempio 2
L'espressione di query seguente usa la Order By clausola per ordinare il risultato della query in base al prezzo in ordine decrescente. I libri con lo stesso prezzo vengono ordinati in base al titolo in ordine crescente.
Dim titlesDescendingPrice = From book In books
Order By book.Price Descending, book.Title
Select book.Title, book.Price
Esempio 3
L'espressione di query seguente usa una Select clausola per selezionare il titolo del libro, il prezzo, la data di pubblicazione e l'autore. Popola quindi i Titlecampi , Price, PublishDatee Author della variabile di intervallo per il nuovo ambito. La Order By clausola ordina la nuova variabile di intervallo in base al nome dell'autore, al titolo del libro e quindi al prezzo. Ogni colonna viene ordinata nell'ordine predefinito (crescente).
Dim bookOrders =
From book In books
Select book.Title, book.Price, book.PublishDate, book.Author
Order By Author, Title, Price