sql >> Base de Datos >  >> RDS >> Database

Cómo ordenar en SQL

Problema:

Le gustaría ordenar el resultado de una consulta SQL en orden ascendente o descendente.

Ejemplo:

Nuestra base de datos tiene una tabla llamada salary_information con datos en las columnas id , first_name , last_name y monthly_earnings . Queremos ordenar a los empleados por sus monthly_earnings en orden descendente.

id nombre apellido ganancias_mensuales
1 Calvino Ríos 3500
2 Alan Paterson 4000
3 Kurt Evans 2300
4 Álex Watkins 5500

Solución:

Usaremos un ORDER BY cláusula. Aquí está la consulta:

Usaremos la función CURRENT_DATE para obtener la fecha actual:

	SELECT
		first_name,
		last_name,
		monthly_earnings
	FROM salary_information
	ORDER BY monthly_earnings DESC

Aquí está el resultado de la consulta:

nombre apellido ganancias_mensuales
Álex Watkins 5500
Alan Paterson 4000
Calvino Ríos 3500
Kurt Evans 2300

Ahora, podemos ver que Alex Watkins es el primero en la lista, lo que significa que gana la mayor cantidad de dinero.

Discusión:

Usa un ORDER BY cláusula si desea ordenar el conjunto de datos en orden ascendente o descendente. La sintaxis de un ORDER BY cláusula es la siguiente:

SELECT col1, col2, …
FROM table
ORDER BY col1, col2, … ASC|DESC;

En lo anterior, ASC|DESC significa que debe elegir la palabra clave ASC (ascendente) o DESC (descendente) para ordenar el conjunto de datos de la manera que desee.

Además de ordenar por columnas numéricas, también puede ordenar por columnas de texto. Un ORDER BY la cláusula ordenará las columnas de texto en orden alfabético.

En lugar del nombre de la columna, también puede usar la posición de la columna contando desde la izquierda. Entonces, en nuestro ejemplo, en lugar de escribir:

ORDER BY monthly_earnings DESC

también puedes escribir:

ORDER BY 3 DESC

Si desea ordenar la tabla del ejemplo por first_name columna en orden alfabético (ascendente), puede utilizar la siguiente consulta:

SELECT
	first_name,
	last_name,
	monthly_earnings
FROM salary_information
ORDER BY first_name ASC

También vale la pena señalar que puede ordenar por varias columnas. Esto es útil cuando se repiten algunos valores en una columna determinada y necesita una clasificación adicional. En este caso, separe los nombres de las columnas con comas en la cláusula ORDER BY.

Incluso puede ordenar en orden ascendente por una columna y en orden descendente por otra. A continuación se ilustra la sintaxis de esta combinación:

	ORDER BY Col1 ASC, Col2 DESC;
	

Si omite el ASC o DESC palabra clave, se realiza una ordenación ascendente por defecto.