SQLite - Clausola ORDER BY

SQLite ORDER BY la clausola viene utilizzata per ordinare i dati in ordine crescente o decrescente, in base a una o più colonne.

Sintassi

Di seguito è riportata la sintassi di base della clausola ORDER BY.

SELECT column-list 
FROM table_name 
[WHERE condition] 
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

È possibile utilizzare più di una colonna nella clausola ORDER BY. Assicurati che qualunque colonna tu stia utilizzando per ordinare, quella colonna dovrebbe essere disponibile nell'elenco delle colonne.

Esempio

Considera la tabella AZIENDA con i seguenti record.

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

Di seguito è riportato un esempio, che ordinerà il risultato in ordine decrescente per SALARY.

sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;

Questo produrrà il seguente risultato.

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

Di seguito è riportato un esempio, che ordinerà il risultato in ordine decrescente per NOME e SALARIO.

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

Questo produrrà il seguente risultato.

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

Di seguito è riportato un esempio, che ordinerà il risultato in ordine decrescente per NOME.

sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;

Questo produrrà il seguente risultato.

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