Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvidas questões 2, 7 e 10

Olá! Tenho algumas perguntas:

Na questão 2, o correto não seria:

SELECT COUNT(iv.produto_id) AS Qtd_Produtos_Vendidos
FROM vendas v
JOIN itens_venda iv ON v.id_venda = iv.venda_id
WHERE strftime('%Y', v.data_venda) = '2022';

Porque a resposta do professor conta a quantidade de vendas no Ano de 2022, e não a quantidade de produtos vendidos em 2022, é isso mesmo?

Na questão 7, não é necessário selecionar a tabela vendas, uma vez que não haverá nenhum filtro de tempo:

SELECT c.nome_categoria AS Categoria, COUNT(iv.produto_id) AS Qtd_Produtos_Vendidos
FROM itens_venda iv
JOIN produtos p ON iv.produto_id = p.id_produto
JOIN categorias c ON p.categoria_id = c.id_categoria
GROUP BY Categoria
ORDER BY Qtd_Produtos_Vendidos DESC
LIMIT 2;

A questão 10 fiz de um jeito um pouco mais simples do que a resposta do professor, que acho que atende ao enunciado:


-- 10 - Crie uma métrica mostrando a porcentagem de vendas a mais que a melhor categoria tem em relação a pior no ano de 2022.

WITH Categorias_Mais_Vendidas_2022 AS (
  SELECT c.nome_categoria AS Categoria, COUNT(iv.produto_id) AS Qtd_Vendas
  FROM vendas v
  JOIN itens_venda iv ON v.id_venda = iv.venda_id
  JOIN produtos p ON iv.produto_id = p.id_produto
  JOIN categorias c ON p.categoria_id = c.id_categoria
  WHERE strftime('%Y', v.data_venda) = '2022'
  GROUP BY Categoria
)
SELECT MAX(cv.Qtd_Vendas) AS Categoria_Mais_Vendida_2022,
MIN(cv.Qtd_Vendas) AS Categoria_Menos_Vendida_2022,
ROUND(100.0*MAX(cv.Qtd_Vendas)/MIN(cv.Qtd_Vendas), 2) || '%' AS Porcentagem_De_Aumento
FROM Categorias_Mais_Vendidas_2022 cv
;

Está tudo certo?

2 respostas
solução!

Oii, Luís! Tudo bem?

Agradeço por compartilhar suas dúvidas por aqui que são valiosas e pode ajudar outros colegas de estudos.

Sobre a questão 2, sua proposta para o desafio está coerente. Encaminharei para a equipe responsável analisar o código da solução para poder realizar os ajustes necessários da atividade.

Na questão 7, as duas propostas atendem ao desafio. A única diferença é que na proposta do Instrutor, está incluindo a tabela vendas na junção, o que garante que só contas linhas em itens_venda que realmente estão associadas a vendas na tabela vendas.

E, por último, questão 10. A sua resolução está certa, sim, e bem estruturada. Como na questão 7, a do Instrutor possui mais detalhamento deixando o código mais informações para análises.

Mais uma vez, agradeço sua interação por aqui! Espero ter sanado suas dúvidas e, caso surjam outras, compartilhe no fórum para podermos te auxiliar.

Bons estudos, Luís!

Oii, Luís! Joia?

Trago atualizações sobre a atividade, ela foi corrigida. Pode conferir clicando aqui.

Agradeço mais uma vez e conte sempre conosco.

Abraço!