Categories
Banco de dados Tutoriais

Como ordenar resultados das queries MySQL

Combine a cláusula ORDER BY ao WHERE, para produzir resultados ordenados no MySQL.

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.
MySQL logo Dolphin in gray shades
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.

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.