Order By (Cláusula, Visual Basic)Order By Clause (Visual Basic)
Especifica el criterio de ordenación para el resultado de una consulta.Specifies the sort order for a query result.
SintaxisSyntax
Order By orderExp1 [ Ascending | Descending ] [, orderExp2 [...] ]
PartesParts
orderExp1
Obligatorio.Required. Uno o más campos del resultado de la consulta actual que identifican cómo ordenar los valores devueltos.One or more fields from the current query result that identify how to order the returned values. Los nombres de campo deben estar separados por comas (,).The field names must be separated by commas (,). Puede identificar cada campo como ordenado en orden ascendente o descendente mediante el uso de las Ascending
Descending
palabras clave o.You can identify each field as sorted in ascending or descending order by using the Ascending
or Descending
keywords. Si no Ascending
Descending
se especifica ninguna palabra clave o, el criterio de ordenación predeterminado es ascendente.If no Ascending
or Descending
keyword is specified, the default sort order is ascending. Los campos de criterio de ordenación tienen prioridad de izquierda a derecha.The sort order fields are given precedence from left to right.
ComentariosRemarks
Puede utilizar la Order By
cláusula para ordenar los resultados de una consulta.You can use the Order By
clause to sort the results of a query. La Order By
cláusula solo puede ordenar un resultado en función de la variable de rango del ámbito actual.The Order By
clause can only sort a result based on the range variable for the current scope. Por ejemplo, la Select
cláusula introduce un nuevo ámbito en una expresión de consulta con nuevas variables de iteración para ese ámbito.For example, the Select
clause introduces a new scope in a query expression with new iteration variables for that scope. Las variables de rango definidas antes de una Select
cláusula en una consulta no están disponibles después de la Select
cláusula.Range variables defined before a Select
clause in a query are not available after the Select
clause. Por lo tanto, si desea ordenar los resultados por un campo que no está disponible en la Select
cláusula, debe colocar la Order By
cláusula delante de la Select
cláusula.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 ejemplo de Cuándo tendría que hacer esto es cuando desea ordenar la consulta por campos que no se devuelven como parte del resultado.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.
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.Ascending and descending order for a field is determined by the implementation of the IComparable interface for the data type of the field. Si el tipo de datos no implementa la IComparable interfaz, se omite el criterio de ordenación.If the data type does not implement the IComparable interface, the sort order is ignored.
EjemploExample
La siguiente expresión de consulta utiliza una From
cláusula para declarar una variable book
de rango para la books
colección.The following query expression uses a From
clause to declare a range variable book
for the books
collection. La Order By
cláusula ordena el resultado de la consulta por precio en orden ascendente (el valor predeterminado).The Order By
clause sorts the query result by price in ascending order (the default). Los libros con el mismo precio se ordenan por título en orden ascendente.Books with the same price are sorted by title in ascending order. La Select
cláusula selecciona las Title
Price
propiedades y como los valores devueltos por la consulta.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
EjemploExample
La siguiente expresión de consulta utiliza la Order By
cláusula para ordenar el resultado de la consulta por precio en orden descendente.The following query expression uses the Order By
clause to sort the query result by price in descending order. Los libros con el mismo precio se ordenan por título en orden ascendente.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
EjemploExample
La siguiente expresión de consulta utiliza una Select
cláusula para seleccionar el título del libro, el precio, la fecha de publicación y el autor.The following query expression uses a Select
clause to select the book title, price, publish date, and author. A continuación, rellena los Title
Price
campos,, PublishDate
y Author
de la variable de rango para el nuevo ámbito.It then populates the Title
, Price
, PublishDate
, and Author
fields of the range variable for the new scope. La Order By
cláusula ordena la nueva variable de rango por nombre de autor, título del libro y, a continuación, precio.The Order By
clause orders the new range variable by author name, book title, and then price. Cada columna se ordena en el orden predeterminado (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