Olá Vitor. Tudo bem com você?
Obrigado por compartilhar seu código com a comunidade Alura.
Gostei de como você utilizou a função strftime
para organizar os dados por ano e mês. Essa abordagem é muito útil para análises temporais. Além disso, sua junção de tabelas com JOIN
está bem estruturada, garantindo que todas as informações relevantes sejam incluídas.
Uma dica interessante é o uso do HAVING
para filtrar resultados após o agrupamento. Por exemplo, se você quiser exibir apenas as categorias com mais de 10 vendas, veja como pode fazer:
SELECT
strftime('%Y/%m', v.data_venda) AS 'Ano/Mês',
c.nome_categoria AS nome_categoria,
COUNT(iv.produto_id) AS Qtd_Vendas
FROM
itens_venda iv
JOIN
vendas v ON v.id_venda = iv.venda_id
JOIN
produtos p ON p.id_produto = iv.produto_id
JOIN
categorias c ON c.id_categoria = p.categoria_id
GROUP BY
nome_categoria, "Ano/Mês"
HAVING
COUNT(iv.produto_id) > 1000
ORDER BY
nome_categoria;
No exemplo acima, o HAVING
é usado para exibir apenas categorias com mais de 1000 vendas. Ele atua como um filtro adicional para os dados já agrupados.
Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!