Escreva o códigoPráticaSQL
Soma por status sem cancelada
Somar o valor_pago por status ignorando a cancelada.
Da tabela matriculas, exclua o status igual a cancelada com WHERE. Devolva status e total nessa ordem com a soma de valor_pago por status.
Revisa aula 12 (31/08)
Solução comentada
Verifique uma tentativa sua para liberar a solução.
SELECT status, SUM(valor_pago) AS total FROM matriculas WHERE status <> 'cancelada' GROUP BY status;O WHERE tira as linhas com status igual a cancelada antes da soma. O GROUP BY com SUM(valor_pago) soma o que restou em cada status e o NULL é ignorado na soma.
Erro comum: Somar sem o WHERE e incluir o status com valor cancelada no resultado.
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.