subconsultas - subquery sql server ejemplos
Ordenamiento de mĂșltiples columnas SQL (5)
El ordenamiento 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 de asc y desc .
Ahora realizo Order By en estas dos columnas ejecutando el siguiente comando:
Ahora, de nuevo, inserto nuevos valores en estas dos columnas, donde el valor del alfabeto en orden ASC :
y las columnas en la tabla de ejemplo tienen este aspecto. Ahora vuelve a realizar la misma operación:
Puede ver que los valores en la primera columna están en orden de desc, pero la segunda columna no está en orden de ASC.
Estoy tratando de ordenar por varias columnas en SQL y en diferentes direcciones. column1
se column1
descendente, y column2
ascendente.
¿Cómo puedo hacer esto?
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 consulta a continuación:
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
Puede utilizar pedidos múltiples en múltiples condiciones,
ORDER BY
(CASE
WHEN @AlphabetBy = 2 THEN [Drug Name]
END) ASC,
CASE
WHEN @TopBy = 1 THEN [Rx Count]
WHEN @TopBy = 2 THEN [Cost]
WHEN @TopBy = 3 THEN [Revenue]
END DESC
ORDER BY column1 DESC, column2
Esto ordena todo por column1
(descendente) primero, y luego por column2
(ascendente, que es el valor predeterminado) siempre que los campos column1
para dos o más filas sean iguales.
SELECT *
FROM mytable
ORDER BY
column1 DESC, column2 ASC