Entendendo ordem decrescente na prática
A ordem decrescente é basicamente organizar coisas do maior para o menor. Pode ser números, datas, alfabeto de Z até A, ou qualquer sequência que tenha uma magnitude. No dia a dia, você vê isso todo santo dia sem prestar atenção.
O que é ordem decrescente mesmo
Quando alguém fala "ordenar em ordem decrescente", quer dizer que o item de maior valor vai primeiro e o de menor valor vai por último. Se tiver uma lista de preços R$100, R$50, R$200, em ordem decrescente ficaria: R$200, R$100, R$50. Simples assim, mas tem uns detalhes que as pessoas esquecem. No Excel, por exemplo, você seleciona a coluna, vai em Dados > Classificar, escolhe a ordem decrescente e pronto. Mas já perdi horas porque uma coluna estava formatada como texto em vez de número. O Excel colocou o "9" depois do "10" porque ele tava comparando caractere por caractere, não valor numérico. O workaround foi selecionar a coluna, ir em Dados > Texto para Colunas, e forçar o formato número. Resolveu em dois minutos o que parecia um bug.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Em SQL é a mesma coisa, só que você usa a cláusula ORDER BY com o parâmetro DESC. SELECT * FROM tabela ORDER BY coluna DESC. Funciona igual para datas também. O problema é que se a coluna tiver valores NULL, o comportamento depende do banco. No PostgreSQL, NULLs vão primeiro. No MySQL, por padrão, vão por último. Se você não sabe disso, pode acabar com resultados que parecem errados.
Dica que ninguém conta
A maioria dos iniciantes acha que ordem decrescente é só o oposto da crescente. É, mas tem uma pegadinha com ordenação alfabética. Quando você ordena nomes em ordem decrescente no Excel, ele não faz "Z a A" como as pessoas esperam. Ele faz de forma case-sensitive dependendo da configuração regional. Já vi gente ficar confusa porque "banana" aparecia antes de "Banana" e achava que o Excel tava quebrado. Não tava não. Era apenas a ordem que o software decide com base nas configurações de localidade. Outro ponto: em programação, se você está ordenando objetos compostos, precisa definir a chave de ordenação. Um array de objetos com nome e valor precisa de uma função de comparação. Em JavaScript, por exemplo, isso seria algo como arr.sort((a, b) => b.valor - a.valor). Sem esse detalhe, o sort padrão converte tudo para string e a ordem fica estranha tipo "10" vindo antes de "2".
Se precisar de ordem decrescente manual sem depender do algoritmo do sistema, dá pra implementar um bubble sort invertido ou usar quicksort adaptado. Mas em 99% dos casos, a função nativa do seu ambiente resolve. Só tome cuidado com os casos de borda que citei.