Escreva o códigoDesafioSQL
Categorias fortes com média alta
Identificar categorias com volume e média alta para priorizar divulgação.
A escola quer priorizar categorias com volume e preço alto. Devolva categoria, qtd e media arredondada para 1 casa, só para categorias com mais de 1 curso e média acima de 110, em ordem decrescente de media.
Revisa aula 12 (31/08), aula 13 (03/09)
Solução comentada
Verifique uma tentativa sua para liberar a solução.
SELECT categoria, COUNT(*) AS qtd, ROUND(AVG(preco), 1) AS media FROM cursos GROUP BY categoria HAVING COUNT(*) > 1 AND AVG(preco) > 110 ORDER BY media DESC;O GROUP BY monta um grupo por categoria, o COUNT(*) dá o volume e o ROUND(AVG(preco), 1) arredonda a média. O HAVING com AND mantém só grupos com mais de 1 curso e média alta. O ORDER BY final coloca a maior média primeiro.
Erro comum: Filtrar a quantidade e a média com WHERE em vez de usar HAVING com AND.
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 |
Escreva sua solução e verifique quando quiser.