3
respostas

desc na querry

qual a função do desc na querry:

select e.pergunta, count(r.id) from exercicio e join resposta r on e.id = r.exercicio_id group by r.id order by count(r.id) desc

sem ele, o resultado aparentemente é o mesmo.

3 respostas

Olá Paulo,

Se você passar somente order by count(r.id), o resultado terá ordem crescente do count(r.id). Quando você passa order by count(r.id) desc, o desc faz com que o resultado seja na ordem decrescente do count(r.id)

Tenho a mesma dúvida também, aparentemente no código do exercício não faz nenhuma diferença usar Desc ou asc. Porque ele usou order by na resolução ?

Olá Leonardo,

O resultado da query em si realmente não muda. O order by asc ou desc apenas ordena o resultado apresentado no final na ordem crecente ou descrecente, respectivamente.

Um exemplo diferente que talvez fique mais claro quando usar o order by é, por exemplo, se você está calculando a média de notas de diferentes alunos. Vamos supor que o cadastro no banco destes alunos, primeiro cadastraram o Paulo, depois Leonardo e por fim Lucas. Se não aplicar o order by muito provavelmente a query vai devolver as notas nesta ordem, Paulo, Leonardo e Lucas. Porém, muitas vezes precisamos em ordem alfabética ("crescente"). Para obter este resultado, seria interessante acrescentar na query um order by aluno.nome asc, que ai as notas viriam Leonardo, Lucas e Paulo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software