Tentei utilizar sub query para dar a capacidade do código da aula 2.5 buscar as categorias mais requisitadas de forma dinâmica, para quando houver mais de uma categoria com o valor máximo de alunos. O resultado foi o abaixo, e parece funcionar corretamente, porém gostaria de saber se seria possível obter o mesmo resultado sem o uso desse artifício, com uma query mais simples.
SELECT
ca.nome as categoria,
COUNT(*) as Alunos_matriculados
FROM aluno_curso ac
INNER JOIN curso c on c.id = ac.curso_id
INNER JOIN categoria ca on ca.id = c.categoria_id
GROUP BY 1
HAVING COUNT(*)= (
SELECT MAX (qtd_alunos.Alunos_matriculados)
FROM
(SELECT
ca.nome as categoria,
COUNT(*) as Alunos_matriculados
FROM aluno_curso ac
INNER JOIN curso c on c.id = ac.curso_id
INNER JOIN categoria ca on ca.id = c.categoria_id
GROUP BY 1
ORDER BY Alunos_matriculados DESC
LIMIT 1) qtd_alunos
)
ORDER BY Alunos_matriculados DESC;