SQL ORDER BY



  SQL > Comandos SQL > Order By


Hasta ahora, hemos visto cómo obtener datos de una tabla utilizando los comandos SELECT y WHERE. Con frecuencia, sin embargo, necesitamos enumerar el resultado en un orden particular. Esto podría ser en orden ascendente, en orden descendente, o podría basarse en valores numéricos o de texto. En tales casos, podemos utilizar la palabra clave ORDER BY para alcanzar nuestra meta.

La sintaxis para una instrucción ORDER BY es la siguiente:

SELECT "nombre_columna"
FROM "nombre_tabla"
[WHERE "condición"]
ORDER BY "nombre_columna" [ASC, DESC]

[] significa que la instrucción WHERE es opcional. Sin embargo, si existe una cláusula WHERE, viene antes de la cláusula ORDER BY ASC significa que los resultados se mostrarán en orden ascendente, y DESC significa que los resultados se mostrarán en orden descendente. Si no se especifica ninguno, la configuración predeterminada es ASC.

Es posible ordenar por más de una columna. En este caso, la cláusula ORDER BYanterior se convierte en

ORDER BY "nombre1_columna" [ASC, DESC], "nombre2_columna" [ASC, DESC]

Suponiendo que elegimos un orden ascendente para ambas columnas, el resultado se clasificará en orden ascendente según la columna 1. Si hay una relación para el valor de la columna 1, se clasificará en orden ascendente según la columna 2.

Por ejemplo, podríamos desear enumerar los contenidos de la Tabla Store_Information según la suma en dólares, en orden descendente:

Tabla Store_Information
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
San Francisco 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999

Ingresamos,

SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY Sales DESC


Resultado:

store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
Boston 700 € 08-Jan-1999
San Francisco 300 € 08-Jan-1999
San Diego 250 € 07-Jan-1999

Además del nombre de la columna, podríamos utilizar la posición de la columna (según la consulta SQL) para indicar en qué columna deseamos aplicar la cláusula ORDER BY. La primera columna es 1, y la segunda columna es 2, y así sucesivamente. En el ejemplo anterior, alcanzaremos los mismos resultados con el siguiente comando:

SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY 2 DESC

SQL Fonciones >>




SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL Fonciones
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL ALIAS
SQL Join
SQL Outer Join
SQL Concatenar
SQL SUBSTRING
SQL TRIM






Mapa del Sitio