Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Correção do exemplo e Resposta

Fui rodar o exemplo apresentado mas não consegui rodar porque a posição do Having estava errado, aí corrigi e deu certo

SELECT     curso.nome,
        COUNT(aluno_curso.aluno_id) numero_alunos
    FROM curso
    JOIN aluno_curso ON aluno_curso.curso_id = curso.id
GROUP BY 1
    HAVING COUNT(aluno_curso.aluno_id) > 2
    ORDER BY numero_alunos DESC;

A resposta que consegui desenvolver foi a seguinte, montei a query para exibir uma tabela com as categorias de cursos e a quantidade de cursos cadastradas, desta tabela fiz a query principal para exibir apenas as categorias que tenham acima de dois cursos cadastrados

select     nome,
        qtd_alunos
        from (
                SELECT    curso.nome,
                        COUNT(aluno_curso.aluno_id) as qtd_alunos
                    FROM curso
                    JOIN aluno_curso ON aluno_curso.curso_id = curso.id
                GROUP BY 1
                ORDER BY count(aluno_curso.aluno_id) DESC
              ) as categoria_cursos
where qtd_alunos > 2;

observei também que na subquery é obrigatório criar um alias para ela, que chamei de categoria_cursos

1 resposta
solução!

Oii Tiago, tudo joia?

Obrigada pelo aviso da query e por mandar a correção. Já foi feita a substituição na atividade.

Sobre a forma em que solucionou a atividade, muito bom, subquery também é uma boa opção a ser utilizada. E sim, é necessário criar um alias.

Parabéns e continue com os bons estudos :)