Escreva o códigoDesafioSQL
Ranking de ticket médio em 2024
Montar ranking de categoria em 2024 pelo ticket médio alto com AVG, HAVING e ORDER BY.
Da tabela vendas, fique só com as linhas de ano igual a 2024. Agrupe por categoria e calcule a média arredondada de valor com ROUND(AVG(valor)) como media. Devolva as colunas categoria e media só para os grupos com AVG(valor) maior que 40, em ordem decrescente de media.
Revisa etapa da trilha 5, etapa da trilha 6, etapa da trilha 7, etapa da trilha 8
Solução comentada
Verifique uma tentativa sua para liberar a solução.
SELECT categoria, ROUND(AVG(valor)) AS media FROM vendas WHERE ano = 2024 GROUP BY categoria HAVING AVG(valor) > 40 ORDER BY media DESCWHERE ano = 2024 filtra as linhas antes de agrupar. GROUP BY categoria com AVG(valor) calcula a média por categoria e ignora o NULL. HAVING AVG(valor) > 40 mantém só os grupos com média alta e ROUND arredonda para leitura. ORDER BY media DESC deixa a maior média primeiro.
Erro comum: Filtrar a média com WHERE em vez de usar HAVING depois do GROUP BY.
Tabelas
vendas 10 linhas
| id | categoria | cidade | valor | ano |
|---|---|---|---|---|
| 1 | calcados | sao paulo | 120 | 2024 |
| 2 | calcados | sao paulo | 80 | 2024 |
| 3 | vestuario | rio de janeiro | 50 | 2024 |
| 4 | vestuario | rio de janeiro | 40 | 2024 |
| 5 | vestuario | belo horizonte | 30 | 2023 |
| 6 | eletronicos | sao paulo | 500 | 2024 |
| 7 | eletronicos | rio de janeiro | NULL | 2024 |
| 8 | livros | sao paulo | 25 | 2024 |
| 9 | livros | sao paulo | 25 | 2024 |
| 10 | livros | curitiba | 20 | 2023 |
Escreva sua solução e verifique quando quiser.