Oi, Raimundo! Tudo certo por aí?
Desde já, peço desculpas pela demora em retornar.
Mandou super bem na resolução do desafio!
Quando pensamos em categorias mais requisitadas, levamos em consideração a quantidade de alunos que estão inscritos em cada curso e, a partir disso, obtemos a distribuição de pessoas por categoria. Nesse sentido, para completar a sua busca, podemos inserir mais uma junção.
Desta vez, iremos desenvolver um JOIN
que conecta as tabelas curso
e aluno_curso
, chegando neste resultado:
JOIN aluno_curso ON aluno_curso.curso_id = curso.id
A partir do comando acima, definimos que o critério de junção será a relação entre as colunas curso_id
(da tabela aluno_curso
) e id
(da tabela curso
). Dessa maneira, criamos uma conexão entre os alunos e os assuntos que eles estão estudando, o que ajudará na busca pelas categorias favoritas!
Dessa forma, o JOIN
construído já pode ser adicionado à busca:
SELECT
categoria.nome as nome_categoria,
COUNT(curso.categoria_id) numero_categorias
from curso
JOIN aluno_curso ON aluno_curso.curso_id = curso.id
JOIN categoria on categoria.id = curso.categoria_id
GROUP BY 1
ORDER BY numero_categorias DESC
LIMIT 1;
Com isso, receberemos como retorno a categoria favorita dos estudantes!
Raimundo, espero que tenha gostado das minhas sugestões. Sinta-se livre para adicioná-las ou não ao seu script SQL! Continue sempre estudando e se dedicando, fico à disposição para ajudar em caso de dúvidas.
Um forte abraço!