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.
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.
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.