ORDENAR POR em MySQL: Consulta DESC e ASC com EXEMPLO

Resultados de classificaรงรฃo

Utilizando o comando SELECT, os resultados foram retornados na mesma ordem em que os registros foram adicionados ao banco de dados. Esta รฉ a ordem de classificaรงรฃo padrรฃo. Nesta seรงรฃo, veremos como podemos classificar os resultados de nossa consulta. Classificar รฉ simplesmente reorganizar os resultados da consulta de uma maneira especรญfica. A classificaรงรฃo pode ser realizada em uma รบnica coluna ou em mais de uma coluna. Isso pode ser feito em nรบmeros, strings e tambรฉm em tipos de dados de data.

O que รฉ ORDER BY em MySQL?

MySQL ORDENAR POR รฉ usado em conjunto com a consulta SELECT para classificar os dados de maneira ordenada. O MySQL A clรกusula ORDER BY รฉ usada para classificar os conjuntos de resultados da consulta em ordem crescente ou decrescente.

SELECT statement... [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];

AQUI

  • "Instruรงรฃo SELECT... " รฉ a consulta de seleรงรฃo regular
  • "| " representa alternativas
  • โ€œ[ONDE condiรงรฃo | GROUP BY `field_name(s)` TENDO condiรงรฃoโ€ รฉ a condiรงรฃo opcional usada para filtrar os conjuntos de resultados da consulta.
  • "ORDENAR POR" executa a classificaรงรฃo do conjunto de resultados da consulta
  • โ€œ[ASC | DESC]โ€ รฉ a palavra-chave usada para classificar conjuntos de resultados em ordem crescente ou decrescente. Observaรงรฃo ASC รฉ usado como padrรฃo.
  • O que sรฃo palavras-chave DESC e ASC?

    Palavras-chave DESC e ASCASC รฉ a forma abreviada de ascendente Palavras-chave DESC e ASCMySQL DESC รฉ a forma abreviada de descendente
    ร‰ usado para classificar os resultados da consulta em um estilo de cima para baixo. ร‰ usado para classificar os resultados da consulta em um estilo de baixo para cima
    Ao trabalhar com tipos de dados de data, a data mais antiga รฉ mostrada no topo da lista. . Ao trabalhar com tipos de data, a data mais recente รฉ mostrada no topo da lista.
    Ao trabalhar com tipos de dados numรฉricos, os valores mais baixos sรฃo mostrados no topo da lista. Ao trabalhar com tipos de dados numรฉricos, os valores mais altos sรฃo mostrados no topo do conjunto de resultados da consulta.
    Ao trabalhar com tipos de dados de string, o conjunto de resultados da consulta รฉ classificado daqueles que comeรงam com a letra A e vรฃo atรฉ a letra Z. Ao trabalhar com tipos de dados de string, o conjunto de resultados da consulta รฉ classificado daqueles que comeรงam com a letra Z e vรฃo atรฉ a letra A.

    Ambas as palavras-chave SQL DESC e ASC sรฃo usadas juntas com a instruรงรฃo SELECT e MySQL Clรกusula ORDER BY.


    Sintaxe DESC e ASC

    A palavra-chave SQL DESC sort possui a seguinte sintaxe bรกsica.

    SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]

    AQUI

    • SELECIONE {nome(s) do(s) campo(s) | *} FROM nome(s) da(s) tabela(s) รฉ a instruรงรฃo que contรฉm os campos e tabelas das quais obter o conjunto de resultados.
    • [ONDE condiรงรฃo] รฉ opcional, mas pode ser usado para filtrar os dados de acordo com a condiรงรฃo fornecida.
    • ORDENAR POR fieldname(s) รฉ obrigatรณrio e รฉ o campo no qual a classificaรงรฃo deve ser realizada. O MySQL A palavra-chave DESC especifica que a classificaรงรฃo deve ser feita em ordem decrescente.
    • [LIMITE] รฉ opcional, mas pode ser usado para limitar o nรบmero de resultados retornados do conjunto de resultados da consulta.

    Exemplos:

    Vejamos agora um exemplo prรกtico โ€“

    SELECT * FROM members;

    Executando o script acima em MySQL workbench contra o myflixdb nos dรก os seguintes resultados mostrados abaixo.

membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553


Suponhamos que o departamento de marketing queira que os detalhes dos membros sejam organizados em ordem decrescente de data de nascimento. Isso os ajudarรก a enviar cumprimentos de aniversรกrio em tempo hรกbil. Podemos obter a referida lista executando uma consulta como abaixo โ€“

SELECT * FROM members ORDER BY date_of_birth DESC;

Executando o script acima em MySQL workbench contra o myflixdb nos dรก os seguintes resultados mostrados abaixo.

Exemplo DESC e ASC

A mesma consulta em ordem crescente

SELECT * FROM membros ORDER BY data_de_nascimento ASC

Exemplo DESC e ASC

Nota: valores NULL significam nenhum valor (nรฃo zero ou string vazia). Observe a forma como eles foram classificados.

Mais exemplos

Vamos considerar o seguinte script SQL de classificaรงรฃo por que lista todos os registros de membros.

SELECT * FROM `members`;

A execuรงรฃo do script acima fornece os seguintes resultados mostrados abaixo.

membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL


Suponha que queiramos obter uma lista que classifique o conjunto de resultados da consulta usando o campo gรชnero, usarรญamos o script mostrado abaixo.

SELECT * FROM `members` ORDER BY `gender`;
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL

Os membros โ€œfemininosโ€ foram exibidos primeiro, seguidos pelos membros โ€œmasculinosโ€, isso ocorre porque quando a clรกusula ORDER BY DESC รฉ usada sem especificar o ASC ou MySQL Palavra-chave DESC, por padrรฃo, MySQL classificou o conjunto de resultados da consulta em ordem crescente.

Vejamos agora um exemplo que faz o classificaรงรฃo usando duas colunas; o primeiro รฉ classificadas in Ordem ascendente por padrรฃo, enquanto a segunda coluna รฉ classificadas in ordem decrescente.

SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;

Executando o script acima em MySQL workbench contra o myflixdb fornece os seguintes resultados.

Exemplo DESC e ASC

A coluna de gรชnero foi classificada em ordem crescente por padrรฃo, enquanto a coluna de data de nascimento foi classificada explicitamente em ordem decrescente

Por que podemos usar DESC e ASC?

Suponha que queiramos imprimir um histรณrico de pagamentos de um membro da videoteca para ajudar a esclarecer dรบvidas da recepรงรฃo. Nรฃo seria mais lรณgico imprimir os pagamentos em ordem cronolรณgica decrescente, comeรงando pelo pagamento recente atรฉ o pagamento anterior?

DESC em SQL รฉ uma palavra-chave que se torna รบtil em tais situaรงรตes. Podemos escrever uma consulta que classifique a lista em ordem decrescente usando a data de pagamento.

Suponha que o departamento de marketing queira obter uma lista de filmes por categoria que os membros possam usar para decidir quais filmes estรฃo disponรญveis na biblioteca ao alugรก-los. Nรฃo seria mais lรณgico classificar os nomes e tรญtulos das categorias de filmes em ordem crescente para que os membros podem pesquisar rapidamente as informaรงรตes da lista?

A palavra-chave ASC รฉ รบtil nessas situaรงรตes; podemos obter a lista de filmes classificada por nome da categoria e tรญtulo do filme em ordem crescente.

Resumo

  • Classificar os resultados da consulta รฉ reorganizar as linhas retornadas de um conjunto de resultados da consulta em ordem crescente ou decrescente.
  • A palavra-chave DESC em SQL รฉ usada para classificar o conjunto de resultados da consulta em ordem decrescente.
  • A palavra-chave ASC รฉ usada para classificar o conjunto de resultados da consulta em ordem crescente.
  • Tanto DESC quanto ASC funcionam em conjunto com a palavra-chave ORDER BY. Eles tambรฉm podem ser usados โ€‹โ€‹em combinaรงรฃo com outras palavras-chave, como Clรกusula WHERE e LIMITE
  • O padrรฃo para ORDER BY quando nada foi especificado explicitamente รฉ ASC.

Resuma esta postagem com: