Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não entendi o motivo de estar agrupando e.id

Prezados, Boa tarde, Eu não agrupei o e.id, a única diferença é a ordem apresentada, estar agrupando e.id é apenas por diferenciar a ordem, ou é uma boa prática?

Minha query select e.pergunta,count(r.id) 'Quantidade Respostas' from resposta r join exercicio e on e.id = r.exercicio_id group by e.pergunta

Obrigado

3 respostas

Oi Gabriel, pode ser só coincidência, já que as perguntas tendem a ser únicas também. Dessa forma o resultado final do agrupamento tende a não ser diferente mesmo :)

solução!

Boa tarde,

Neste caso, se houvesse duas perguntas iguais, por exemplo, o sistema retornaria a quantidade agupado, mesmo que uma questão seja referente a um exercício e outra a outro exercício.

O ID é quem irá diferenciar essas questões, trazendo assim as questões, mesmo que com mesma descrição, mas agrupamentos distintos.

Por exemplo: Tabela "exercício"

id | pergunta
1   | Questão A
2   | Questão B
3   | Questão A

Tabela "respostas"

id  | resposta| exercicio_ID
1    | Resposta A    | 1
2    | Resposta B    | 2
3    | Resposta C    | 3

Se executar o SQL Agrupando penas pela pergunta, sera apresentado:

Questão A | 2
Questão B | 1

Mas agrupando pelo id e pergunta será apresentado:

Questão A | 1
Questão B | 1
Questão A | 1

O campo pergunta é obrigatório informar pois ele é apresentado no SQL, o ID não é obrigatório, mas é o que irá gerar os dados sem erros, tendo em vista que ele é único.

Espero ter ajudado.

Muito obrigado pessoal, esclareceu a minha dúvida.

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