SQLite - cláusula ORDER BY
SQLite ORDER BY cláusula é usada para classificar os dados em ordem crescente ou decrescente, com base em uma ou mais colunas.
Sintaxe
A seguir está a sintaxe básica da cláusula ORDER BY.
SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
Você pode usar mais de uma coluna na cláusula ORDER BY. Certifique-se de qualquer coluna que você está usando para classificar, essa coluna deve estar disponível na lista de colunas.
Exemplo
Considere a tabela COMPANY com os seguintes 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 seguir está um exemplo, que classificará o resultado em ordem decrescente por SALÁRIO.
sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;
Isso produzirá o seguinte 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 seguir está um exemplo, que classificará o resultado em ordem decrescente por NOME e SALÁRIO.
sqlite> SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;
Isso produzirá o seguinte 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 seguir está um exemplo, que classificará o resultado em ordem decrescente por NOME.
sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;
Isso produzirá o seguinte 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