SQLite Order By

La cláusulaORDER BYde SQLite se utiliza para ordenar los datos en orden ascendente o descendente según una o más columnas.

Sintaxis

La sintaxis básica de la cláusula ORDER BY es la siguiente:

SELECT column-list 
FROM table_name 
[WHERE condition] 
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
  • ASCValor predeterminado, de menor a mayor, orden ascendente
  • DESCDe mayor a menor, orden descendente

Puede utilizar varias columnas en la cláusula ORDER BY, asegurándose de que las columnas de ordenación utilizadas estén en la lista de columnas:

SELECT
   select_list
FROM
   table
ORDER BY
    column_1 ASC,
    column_2 DESC;

Si no se especifica la regla de ordenación después de column_1 y column_2, el valor predeterminado es ASC (ascendente). La declaración anterior lee en orden ascendente por column_1 y descendente por column_2, equivalente a la siguiente declaración:

SELECT
   select_list
FROM
   table
ORDER BY
    column_1,
    column_2 DESC;

Ejemplo

Supongamos que la tabla COMPANY tiene los siguientes registros:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

A continuación se muestra un ejemplo que ordenará los resultados por SALARY en orden ascendente:

sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;

Esto producirá el siguiente resultado:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
7           James       24          Houston     10000.0
2           Allen       25          Texas       15000.0
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0
6           Kim         22          South-Hall  45000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

A continuación se muestra un ejemplo que ordenará los resultados por NAME y SALARY en orden ascendente:

sqlite> SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;

Esto producirá el siguiente resultado:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
5           David       27          Texas       85000.0
7           James       24          Houston     10000.0
6           Kim         22          South-Hall  45000.0
4           Mark        25          Rich-Mond   65000.0
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0

A continuación se muestra un ejemplo que ordenará los resultados por NAME en orden descendente:

sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;

Esto producirá el siguiente resultado:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
3           Teddy       23          Norway      20000.0
1           Paul        32          California  20000.0
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
5           David       27          Texas       85000.0
2           Allen       25          Texas       15000.0
Otras extensiones