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

Não consegui fazer a query para listar a categoria mais requisitada

Se alguém conseguiu por favor compartilhe!

3 respostas

Olá André, tudo bem?

Para chegar ao resultado da categoria mais requisitada, você irá realizar o JOIN com a tabela de categoria no lugar da tabela aluno_curso, vou deixar aqui para você as duas queries, assim você poderá comparar e ver diferença entre as duas

  • Listar cursos mais requisitados:

    SELECT 
    curso.nome,
    COUNT (aluno_curso.curso_id) numero_cursos
    FROM curso JOIN aluno_curso 
    ON aluno_curso.curso_id = curso.id
    GROUP BY 1
    ORDER BY numero_alunos DESC
    Limit 1;
  • Listar categorias mais requisitadas:

    SELECT 
    categoria.nome,
    COUNT(curso.categoria_id) numero_categoria
    FROM curso JOIN categoria
    ON curso.categoria_id = categoria.id
    GROUP BY 1
    ORDER BY numero_categoria DESC
    Limit 1;

Espero ter ajudado e bons estudos!

Oi Daniellle, td ótimo!

A query que você enviou nos mostra a categoria com a maior quantidade de cursos, mas o que nos foi solicitado foi a categoria mais solicitada, ou seja, com a maior quantidade de alunos inscritos.

Olhando novamente os exemplos da aula, consegui elaborar a query, segue abaixo:

select categoria.nome "Categoria",
       count(aluno_curso.aluno_id) "Quantidade de alunos"
    from categoria
    join curso on curso.categoria_id = categoria.id
    join aluno_curso on aluno_curso.curso_id = curso.id
    group by 1
    order by 2 desc
        limit 1

De qualquer forma, obrigado!

solução!

Olá André, peço desculpas por isso, acabei confundido o que foi solicitado, mas que bom que você conseguiu fazer a query e compartilhou aqui com a gente!

Continue assim e bons estudos!