Você pode ordenar suas consultas ao banco de dados MySQL, feitas com o comando SELECT, através de uma cláusula ORDER BY (que quer dizer ordene por, em uma tradução livre para português).
Neste texto, vou mostrar como ordenar queries MySQL pode ser fácil e flexibilizado.
Os exemplos dados neste tutorial são genéricos e podem ser aplicados, com as devidas alterações, a qualquer tabela que você tiver disponível para seu aprendizado. Mas, se quiser, pode pegar a tabela que estou usando aqui.
Filtre seus resultados com WHERE, ordene com BY ORDER
Se você usar o quadro de busca, no topo do site, vai encontrar vários exemplos de uso da cláusula WHERE — que serve para filtrar os resultados obtidos pelo SELECT.
No exemplo abaixo, selecionamos para exibição os nomes de clientes e valor de seus créditos, onde o valor do crédito for maior que 82000, ordenado por valor do crédito ASCendentemente:
SELECT nomeCli, creditoCli FROM CadCli WHERE creditoCli > 82000 ORDER BY creditoCli ASC;
+----------------+------------+ | nomeCli | creditoCli | +----------------+------------+ | Daphne Blair | 82413 | | Lydia Patton | 83368 | | Kendall Morton | 83838 | | Ocean Greene | 84520 | | Yvonne Wise | 84531 | | Steven Stokes | 84831 | +----------------+------------+ 6 rows in set (0.01 sec
O comportamento padrão do MySQL é ordenar ascendentemente — ou seja, se você quiser, não precisa usar a cláusula ASC, nesta consulta.
Caso queira aplicar uma ordem descendente, por nomes, use o exemplo que segue:
SELECT nomeCli, creditoCli FROM CadCli WHERE creditoCli > 82000 ORDER BY nomeCli DESC;
+----------------+------------+ | nomeCli | creditoCli | +----------------+------------+ | Yvonne Wise | 84531 | | Steven Stokes | 84831 | | Ocean Greene | 84520 | | Lydia Patton | 83368 | | Kendall Morton | 83838 | | Daphne Blair | 82413 | +----------------+------------+ 6 rows in set (0.00 sec)
Você pode usar mais do que um parâmetro de ordenação. No exemplo que segue, vou ordenar o resultado por nome do cliente e por nome da cidade. Veja:
SELECT nomeCli, cidadeCli, creditoCli from CadCli WHERE creditoCli < 8000 ORDER BY nomeCli, cidadeCli;
O resultado sairá ordenado primeiro por nomeCli e, secundariamente, por cidadeCli. Como não foi especificado, a ordem da lista, por padrão é ascendente:
+-----------------+----------------------+------------+ | nomeCli | cidadeCli | creditoCli | +-----------------+----------------------+------------+ | Deacon Reid | Cuglieri | 7937 | | Fuller Richards | Airdrie | 7252 | | Hanna Mccormick | Lens-Saint-Remy | 600 | | Lois Dyer | Torrevecchia Teatina | 6057 | | Sheila Foreman | Sloten | 4266 | | Warren Burgess | Konstanz | 1656 | +-----------------+----------------------+------------+ 6 rows in set (0.00 sec)
Encontre outros exemplos interessantes, usando a caixa de busca no topo do site ou clicando na tag correspondente, logo abaixo.