Orden de múltiples columnas SQL

Resuelto Señor Reginold Francis asked hace 14 años • 9 respuestas

¿Cómo puedo ordenar varias columnas en SQL y en diferentes direcciones? Por ejemplo, la 'columna1' se ordenaría de forma descendente y la 'columna2' de forma ascendente.

Señor Reginold Francis avatar Jan 13 '10 01:01 Señor Reginold Francis
Aceptado
ORDER BY column1 DESC, column2

Esto ordena todo column1primero (descendente) y luego column2(ascendente, que es el valor predeterminado) siempre que los column1campos de dos o más filas sean iguales.

Ignacio Vazquez-Abrams avatar Jan 12 '2010 18:01 Ignacio Vazquez-Abrams

Las otras respuestas carecen de un ejemplo concreto, así que aquí va:

Dada la siguiente tabla de Personas :

 FirstName |  LastName   |  YearOfBirth
----------------------------------------
  Thomas   | Alva Edison |   1847
  Benjamin | Franklin    |   1706
  Thomas   | More        |   1478
  Thomas   | Jefferson   |   1826

Si ejecuta la siguiente consulta:

SELECT * FROM People ORDER BY FirstName DESC, YearOfBirth ASC

El conjunto de resultados se verá así:

 FirstName |  LastName   |  YearOfBirth
----------------------------------------
  Thomas   | More        |   1478
  Thomas   | Jefferson   |   1826
  Thomas   | Alva Edison |   1847
  Benjamin | Franklin    |   1706
Thomas C. G. de Vilhena avatar Jan 18 '2014 23:01 Thomas C. G. de Vilhena
SELECT  *
FROM    mytable
ORDER BY
        column1 DESC, column2 ASC
Quassnoi avatar Jan 12 '2010 18:01 Quassnoi

El orden de varias columnas depende de los valores correspondientes de ambas columnas: aquí está mi ejemplo de tabla donde hay dos columnas nombradas con alfabetos y números y los valores en estas dos columnas son órdenes asc y desc .

ingrese la descripción de la imagen aquí

Ahora realizo Ordenar por en estas dos columnas ejecutando el siguiente comando:

ingrese la descripción de la imagen aquí

Ahora nuevamente inserto nuevos valores en estas dos columnas, donde el valor del alfabeto en orden ASC :

ingrese la descripción de la imagen aquí

y las columnas de la tabla de ejemplo se ven así. Ahora nuevamente realiza la misma operación:

ingrese la descripción de la imagen aquí

Puede ver que los valores de la primera columna están en orden descriptivo, pero la segunda columna no está en orden ASC.

Jason Clark avatar Dec 08 '2016 05:12 Jason Clark