Realizando o exercício junto com o instrutor, quando ele sugeriu multiplicar a divisão da parte pelo todo para obter a porcentagem, eu inseri a multiplicação após a divisão:
SELECT
Nome_categoria,
Qtd_Vendas, Qtd_Vendas/(select count(*) FROM itens_venda)*100.0 AS Porcentagem
FROM(
SELECT
c.nome_categoria AS Nome_categoria,
COUNT(iv.produto_id) AS Qtd_Vendas
FROM
itens_venda iv
JOIN vendas v on iv.venda_id = v.id_venda
JOIN produtos p on iv.produto_id = p.id_produto
join categorias c on p.categoria_id = c.id_categoria
GROUP BY
Nome_categoria
ORDER BY
Qtd_Vendas DESC
)
;
Utilizando essa ordem, a coluna Porcentagem resultou em zero.
Colocando a multiplicação antes da divisão, o resultado ficou igual ao do instrutor.
SELECT
Nome_categoria,
Qtd_Vendas, 100.0* Qtd_Vendas/(select count(*) FROM itens_venda) AS Porcentagem
FROM(
SELECT
c.nome_categoria AS Nome_categoria,
COUNT(iv.produto_id) AS Qtd_Vendas
FROM
itens_venda iv
JOIN vendas v on iv.venda_id = v.id_venda
JOIN produtos p on iv.produto_id = p.id_produto
join categorias c on p.categoria_id = c.id_categoria
GROUP BY
Nome_categoria
ORDER BY
Qtd_Vendas DESC
)
;
Resultado:
O resultado não deveria ser o mesmo, independente da ordem da multiplicação?