Order By (Cláusula, Visual Basic)

Especifica el criterio de ordenación para el resultado de una consulta.

Sintaxis

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

Partes

orderExp1 Obligatorio. Uno o varios campos del resultado de la consulta actual que identifican cómo ordenar los valores devueltos. Los nombres de campo deben estar separados por comas (,). Puede identificar cada campo como ordenado en orden ascendente o descendente mediante las palabras Ascending Descending clave o . Si no Ascending se especifica ninguna palabra clave o , el criterio de Descending ordenación predeterminado es ascendente. Los campos de criterio de ordenación tienen prioridad de izquierda a derecha.

Comentarios

Puede usar la cláusula Order By para ordenar los resultados de una consulta. La Order By cláusula solo puede ordenar un resultado en función de la variable de intervalo para el ámbito actual. Por ejemplo, la cláusula introduce un nuevo ámbito en una expresión de Select consulta con nuevas variables de iteración para ese ámbito. Las variables de intervalo definidas antes Select de una cláusula en una consulta no están disponibles después de la cláusula Select . Por lo tanto, si desea ordenar los resultados por un campo que no está disponible en la cláusula , debe colocar la cláusula Select antes de la cláusula Order By Select . Un ejemplo de cuándo tendría que hacerlo es cuando desea ordenar la consulta por campos que no se devuelven como parte del resultado.

El orden ascendente y descendente de un campo viene determinado por la implementación de la IComparable interfaz para el tipo de datos del campo. Si el tipo de datos no implementa la interfaz , se omite IComparable el criterio de ordenación.

Ejemplo 1

La siguiente expresión de consulta usa From una cláusula para declarar una variable de intervalo para la book books colección. La Order By cláusula ordena el resultado de la consulta por precio en orden ascendente (valor predeterminado). Los libros con el mismo precio se ordenan por título en orden ascendente. La Select cláusula selecciona las propiedades y como valores Title Price devueltos por la consulta.

Dim titlesAscendingPrice = From book In books
                           Order By book.Price, book.Title
                           Select book.Title, book.Price

Ejemplo 2

La siguiente expresión de consulta usa la cláusula para ordenar el resultado de la consulta Order By por precio en orden descendente. Los libros con el mismo precio se ordenan por título en orden ascendente.

Dim titlesDescendingPrice = From book In books
                            Order By book.Price Descending, book.Title
                            Select book.Title, book.Price

Ejemplo 3

La siguiente expresión de consulta usa Select una cláusula para seleccionar el título del libro, el precio, la fecha de publicación y el autor. A continuación, rellena Title los campos , , y de la variable de intervalo para el nuevo Price PublishDate Author ámbito. La Order By cláusula ordena la nueva variable de intervalo por nombre de autor, título del libro y, a continuación, precio. Cada columna se ordena en el orden predeterminado (ascendente).

Dim bookOrders =
  From book In books
  Select book.Title, book.Price, book.PublishDate, book.Author
  Order By Author, Title, Price

Consulta también