Oi colegas!
O meu ficou um pouco diferente mais testando a de você cheguei no mesmo resultado.
-- Categoria mais requisitada
select
cg.nome as "Categoria"
, count (ac.aluno_id) "Qtde Alunos"
from categoria cg
right join curso c on cg.id = c.categoria_id
right join aluno_curso ac on c.id = ac.curso_id
group by 1
order by "Qtde Alunos" DESC
;
Será que tem problema eu ter contado os alunos
e não os cursos
de aluno_curso
? Acho que estamos contando a qtde de relacionamentos, então não faria diferença, mas estou insegura.
Também ainda não entendi direito quando usamos join
ou right join
ou left join
...
Nesse caso, talvez por causa da ordem, right join
funcionou, mas se eu estiver fazendo errado queria saber para não errar na vida real.