1-Análise de Marcas:
SELECT m.nome as Marcas, COUNT(p.id_produto) as Qtd_Vendas --seleciona Marca e conta qtd de produdos
FROM itens_venda iv -- tabela de ligação pra os joins
JOIN vendas v on v.id_venda = iv.venda_id
JOIN produtos p on p.id_produto = iv.produto_id
JOIN marcas m on p.marca_id = m.id_marca
GROUP by m.nome
-- contar a quantidade de vendas
SELECT COUNT(*) from itens_venda
-- Calculando a porcentagem usando a consulta do passo 2 como tabela
SELECT Marcas, ROUND(100.0*qtd_vendas/(SELECT COUNT(*) from itens_venda),2) ||'%' as Porcentagem_vendas_por_marca
from(
SELECT m.nome as Marcas, COUNT(p.id_produto) 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 marcas m on p.marca_id = m.id_marca
GROUP by m.nome
)
ORDER by Porcentagem_vendas_por_marca DESC;
2-Análise de Fornecedores:
SELECT Fornecedor, ROUND(100.0*qtd_vendas/(SELECT COUNT(*) from itens_venda),2) ||'%' as Porcentagem_vendas_por_fornecedor
from(
SELECT f.nome as Fornecedor, COUNT(p.id_produto) 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 fornecedores f on f.id_fornecedor = p.fornecedor_id
GROUP by f.nome
)
ORDER by Porcentagem_vendas_por_fornecedor DESC;