1
resposta

05 - Categoria mais requisitada

O desafio proposto na vídeo aula, consistia em criar um query de obter as categorias mais requisitadas. Eu fiz dessa maneira:

SELECT
    categoria.nome as nome_categoria,
    COUNT(curso.categoria_id) numero_categorias
from curso
JOIN categoria on categoria.id = curso.categoria_id
GROUP BY 1
ORDER BY numero_categorias DESC
limit 1
1 resposta

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!