Queria entender pq uma simples diferença de código(o primeiro não contém um group by, e o segundo sim) produziu uma diferença na média do mesmo aluno, que aparece menor na segunda:
mysql> select a.nome, c.nome, avg(n.nota) from nota n join resposta r on r.id =
n.resposta_id join exercicio e on e.id = r.exercicio_id join secao s on s.id = e
.secao_id join curso c on c.id = s.curso_id join aluno a on a.id = r.aluno_id gr
oup by c.nome, a.nome;
+----------------+-----------------------+-------------+
| nome | nome | avg(n.nota) |
+----------------+-----------------------+-------------+
| Renata Alonso | PHP e MySql | 4.8571 |
| Alberto Santos | Scrum e mÚtodos ßgeis | 5.7778 |
| Frederico JosÚ | SQL e banco de dados | 6.2500 |
| JoÒo da Silva | SQL e banco de dados | 6.2857 |
+----------------+-----------------------+-------------+
4 rows in set (0.12 sec)
mysql> select a.nome, c.nome, avg(n.nota) from nota n join resposta r on r.id =
n.resposta_id join exercicio e on e.id = r.exercicio_id join secao s on s.id = e
.secao_id join curso c on c.id = s.curso_id join aluno a on a.id = r.aluno_id;
+---------------+----------------------+-------------+
| nome | nome | avg(n.nota) |
+---------------+----------------------+-------------+
| JoÒo da Silva | SQL e banco de dados | 5.7407 |
+---------------+----------------------+-------------+
1 row in set (0.00 sec)