Escreva o códigoDesafioSQL
Niveis com letra a recorrente
Achar nivel com mais de um curso com a no nome.
Da tabela cursos, fique só com nomes contendo a usando WHERE com LIKE e o padrão %a%. Devolva nivel e total nessa ordem com a contagem por nivel só para grupos com mais de 1 curso usando HAVING, ordenado por nivel em ASC com ORDER BY.
Revisa aula 12 (31/08), aula 13 (03/09)
Solução comentada
Verifique uma tentativa sua para liberar a solução.
SELECT nivel, COUNT(*) AS total FROM cursos WHERE nome LIKE '%a%' GROUP BY nivel HAVING total > 1 ORDER BY nivel ASC;O WHERE com LIKE filtra os nomes com a antes de agrupar usando o padrão %a%. O GROUP BY com COUNT(*) conta por nivel, o HAVING mantém só total acima de 1 e o ORDER BY ordena por nivel.
Erro comum: Usar IN com o padrão %a% em vez de LIKE para buscar trecho do nome.
Tabelas
alunos 6 linhas
| id | nome | plano |
|---|---|---|
| 1 | Ana | Premium |
| 2 | Beto | Pro |
| 3 | Carol | Basico |
| 4 | Diego | Premium |
| 5 | Elisa | Pro |
| 6 | Fabio | Basico |
cursos 4 linhas
| id | nome | nivel |
|---|---|---|
| 1 | Analise | iniciante |
| 2 | Dados | iniciante |
| 3 | IA Avancada | avancado |
| 4 | Redes | intermediario |
matriculas 8 linhas
| id | status | valor_pago |
|---|---|---|
| 1 | ativa | 500 |
| 2 | ativa | 700 |
| 3 | concluida | 1200 |
| 4 | concluida | 800 |
| 5 | cancelada | 0 |
| 6 | ativa | 500 |
| 7 | concluida | NULL |
| 8 | cancelada | 200 |
Escreva sua solução e verifique quando quiser.