Escreva o códigoPráticaSQL
Cursos longos por categoria
Contar por categoria só os cursos longos usando WHERE antes do grupo.
Considere só os cursos com carga_horaria maior que 20. Devolva as colunas categoria e qtd, com uma linha por categoria.
Revisa aula 12 (31/08)
Solução comentada
Verifique uma tentativa sua para liberar a solução.
SELECT categoria, COUNT(*) AS qtd FROM cursos WHERE carga_horaria > 20 GROUP BY categoria;O WHERE filtra linhas antes do GROUP BY, então só cursos com carga_horaria > 20 entram na contagem. O GROUP BY separa o que sobrou por categoria e o COUNT(*) conta cada grupo. Categorias que ficam sem linhas após o WHERE não aparecem no resultado.
Erro comum: Colocar o filtro de carga_horaria no HAVING em vez de usar WHERE antes do GROUP BY.
Tabelas
cursos 10 linhas
| id | nome | categoria | preco | carga_horaria |
|---|---|---|---|---|
| 1 | Python basico | programacao | 120 | 40 |
| 2 | Python avancado | programacao | 180 | 40 |
| 3 | Banco de dados | programacao | 150 | 30 |
| 4 | Ingles basico | idiomas | 100 | 60 |
| 5 | Ingles avancado | idiomas | 100 | 60 |
| 6 | Espanhol basico | idiomas | NULL | 40 |
| 7 | Yoga manha | saude | 80 | 20 |
| 8 | Yoga noite | saude | 90 | 20 |
| 9 | Pilates | saude | 200 | 20 |
| 10 | Desenho | arte | 200 | 30 |
Sua consulta
Escreva sua solução e verifique quando quiser.