No exemplo feito pelo professor a query ficou bastante grande e poderia ser mais sucinta. Por exemplo:
SELECT sabor, ano, total,
ROUND(total / SUM(total) OVER() * 100, 2) AS percent
FROM (SELECT sabor,
YEAR(data_venda) AS ano,
SUM(quantidade) AS total
FROM itens_notas_fiscais
JOIN notas_fiscais USING(numero)
JOIN tabela_de_produtos USING(codigo_do_produto)
WHERE YEAR(data_venda) = 2016
GROUP BY sabor, ano
ORDER BY total DESC) AS tabela;