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

Último registro por ID

Olá, Estou treinando algumas situações hipotéticas, mas tem uma que não estou conseguindo.

Nos testes consegui os cursos por aluno assim como no exercício, mas não consegui fazer com que me mostrasse apenas o último curso matriculado por aluno. Não quero que mostre o histórico inteiro, mas apenas o primeiro.

3 respostas

Boa tarde Bruno, apenas um chute, tenta passar um max(sua data aqui) ou um having max(sua data aqui)

tentei puxar o max e ele me volta apenas o ultimo da tabela toda, não por aluno...

solução!

Boa tarde Bruno!

Eis a query:

select a.nome, c.nome, (select max(m1.data) from matricula m1 wh
ere m1.aluno_id = a.id) as ultima_data from aluno a, curso c, matricula m where
a.id = m.aluno_id and c.id = m.curso_id group by a.nome;
+----------------+-----------------------+---------------------+
| nome           | nome                  | ultima_data         |
+----------------+-----------------------+---------------------+
| Alberto Santos | Scrum e métodos ágeis | 2013-07-21 16:16:30 |
| Frederico José | SQL e banco de dados  | 2013-05-25 16:16:25 |
| João da Silva  | SQL e banco de dados  | 2013-11-25 16:16:05 |
| Renata Alonso  | PHP e MySql           | 2013-11-15 16:15:35 |
+----------------+-----------------------+---------------------+
4 rows in set (0.00 sec)

Assim também funciona:

select a.nome, c.nome, (select max(m1.data) from matricula m1 wh
ere m1.aluno_id = a.id) as ultima_data from aluno a join matricula m on a.id = m
.aluno_id join curso c on c.id = m.curso_id group by a.nome;
+----------------+-----------------------+---------------------+
| nome           | nome                  | ultima_data         |
+----------------+-----------------------+---------------------+
| Alberto Santos | Scrum e métodos ágeis | 2013-07-21 16:16:30 |
| Frederico José | SQL e banco de dados  | 2013-05-25 16:16:25 |
| João da Silva  | SQL e banco de dados  | 2013-11-25 16:16:05 |
| Renata Alonso  | PHP e MySql           | 2013-11-15 16:15:35 |
+----------------+-----------------------+---------------------+
4 rows in set (0.00 sec)