Escreva o códigoDesafioSQL
Categorias acima da média geral
Comparar a média por categoria com a média geral usando subconsulta.
Devolva as colunas categoria e media, com a média de preco, só para categorias cuja média está acima da média geral de todos os cursos. Use uma subconsulta para obter a média geral.
Revisa aula 14 (10/09), aula 15 (14/09)
Solução comentada
Verifique uma tentativa sua para liberar a solução.
SELECT categoria, AVG(preco) AS media FROM cursos GROUP BY categoria HAVING AVG(preco) > (SELECT AVG(preco) FROM cursos);O GROUP BY calcula uma média com AVG(preco) para cada categoria. A subconsulta (SELECT AVG(preco) FROM cursos) devolve a média geral, ignorando o NULL. O HAVING filtra os grupos e mantém só aqueles acima desse valor.
Erro comum: Comparar cada preco no WHERE em vez de comparar cada média no HAVING.
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.