Estoy tratando de ordenar por múltiples columnas en SQL y en diferentes direcciones. column1
se ordenarían descendiendo y column2
ascendiendo.
¿Cómo puedo hacer esto?
sql
sql-order-by
Señor Reginold Francis
fuente
fuente
Respuestas:
Esto ordena todo
column1
primero (descendente) y luegocolumn2
(ascendente, que es el valor predeterminado) siempre que loscolumn1
campos para dos o más filas sean iguales.fuente
column1
primero y luegocolumn2
cada vez que loscolumn1
campos para dos filas son iguales.column2
y luego realiza una clasificación ESTABLE porcolumn1
. Esto es más claro para las personas que saben qué es la clasificación estable.Las otras respuestas carecen de un ejemplo concreto, así que aquí va:
Dada la siguiente tabla de personas :
Si ejecuta la consulta a continuación:
El conjunto de resultados se verá así:
fuente
1.Firstname asc, Lastname desc, yearOfBirst asc and 2.Firstname asc, Lastname desc, yearOfBirst desc
¿Hay alguna forma de superar esto?FirstName, LastName
entradas duplicadas con distintivoYearOfBirth
fuente
El orden de múltiples 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 .
Ahora realizo Ordenar por en estas dos columnas ejecutando el siguiente comando:
Ahora nuevamente inserto nuevos valores en estas dos columnas, donde el valor del Alfabeto en orden ASC :
y las columnas en la tabla de Ejemplo se ven así. Ahora nuevamente realice la misma operación:
Puede ver que los valores en la primera columna están en orden desc pero la segunda columna no está en orden ASC.
fuente
(g, 10),(g,12)
. Luego, ejecute su consulta de orden por orden, obtendrá la segunda columna comoASC
orden (eso significag-10,g-11,g-12)
Puede usar múltiples pedidos en múltiples condiciones,
fuente