Escreva o códigoPráticaSQL
Quantos niveis fora iniciante
Contar quantos nivel distintos restam fora do iniciante.
Da tabela cursos, exclua o nivel igual a iniciante com WHERE e NOT IN. Devolva a coluna total com a contagem de valores distintos de nivel usando COUNT com DISTINCT.
Revisa aula 13 (03/09)
Solução comentada
Verifique uma tentativa sua para liberar a solução.
SELECT COUNT(DISTINCT nivel) AS total FROM cursos WHERE nivel NOT IN ('iniciante');O WHERE com NOT IN remove as linhas com nivel igual a iniciante antes de contar. O COUNT(DISTINCT nivel) conta quantas gavetas diferentes sobraram na coluna nivel.
Erro comum: Esquecer o DISTINCT dentro do COUNT e contar linhas em vez de níveis diferentes.
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 |
Sua consulta
Escreva sua solução e verifique quando quiser.