Clausola Order By (Visual Basic)
Specifica l'ordinamento dei risultati di una query.
Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]
Parti
- orderExp1
Obbligatoria. Uno o più campi dal risultato corrente della query che identificano come ordinare i valori restituiti. I nomi di campo devono essere separati da virgole (). È possibile identificare ogni campo come ordinato in senso crescente o decrescente utilizzando le parole chiave Ascending o Descending. Se non viene specificata la parola chiave Ascending o Descending, l'ordinamento predefinito è in senso crescente. I campi di ordinamento hanno la precedenza da sinistra verso destra.
Note
È possibile utilizzare la clausola Order By per ordinare i risultati di una query. La clausola Order By può ordinare un risultato solo in base alla variabile di intervallo per l'ambito corrente. Ad esempio, la clausola Select 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 clausola Select in una query non sono disponibili dopo la clausola Select. Pertanto, se si desidera ordinare i risultati tramite un campo non disponibile nella clausola Select, è necessario inserire la clausola Order By prima della clausola Select. Ad esempio quando si desidera ordinare la query tramite campi che non vengono restituiti come parte del risultato.
Il senso crescente e decrescente ordinare per un campo viene determinato dall'implementazione dell'interfaccia IComparable per il tipo di dati del campo. Se il tipo di dati non implementa l'interfaccia IComparable, il senso di ordinamento viene ignorato.
Esempio
Nell'espressione di query seguente viene utilizzata una clausola From per dichiarare una variabile di intervallo book per l'insieme books. La clausola Order By ordina in senso crescente (impostazione predefinita) in base al prezzo il risultato della query. I libri con lo stesso prezzo vengono ordinati in senso crescente in base al titolo. Mediante la clausola Select vengono selezionate le proprietà Title e Price come valori restituiti dalla query.
Dim titlesAscendingPrice = From book In books
Order By book.Price, book.Title
Select book.Title, book.Price
Nell'espressione di query seguente viene utilizzata la clausola Order By per ordinare in senso decrescente il risultato della query in base al prezzo. I libri con lo stesso prezzo vengono ordinati in senso crescente in base al titolo.
Dim titlesDescendingPrice = From book In books
Order By book.Price Descending, book.Title
Select book.Title, book.Price
Nell'espressione di query seguente viene utilizzata una clausola Select per selezionare il titolo del libro, il prezzo, la data di pubblicazione e l'autore. Vengono quindi popolati i campi Title, Price, PublishDatee Author della variabile di intervallo per il nuovo ambito. La clausola Order By ordina la nuova variabile di intervallo per autore, titolo del libro e poi prezzo. Ogni colonna viene ordinata nel senso predefinito (crescente).
Dim bookOrders =
From book In books
Select book.Title, book.Price, book.PublishDate, book.Author
Order By Author, Title, Price
Vedere anche
Riferimenti
Clausola Select (Visual Basic)
Concetti
Introduzione a LINQ in Visual Basic