SELECT VENDA_TAMANHO.TAMANHO, VENDA_TAMANHO.ANO_DA_VENDA, VENDA_TAMANHO.QUANTIDADE, ROUND((VENDA_TAMANHO.QUANTIDADE / VENDA_TOTAL.QUANTIDADE_TOTAL)*100,2) AS PORCENTAGEM FROM
(SELECT TP.TAMANHO, DATE_FORMAT(NF.DATA_VENDA, '%Y') AS ANO_DA_VENDA, SUM(INF.QUANTIDADE) AS QUANTIDADE
FROM NOTAS_FISCAIS NF
INNER JOIN itens_notas_fiscais INF
ON NF.NUMERO = INF.NUMERO
INNER JOIN tabela_de_produtos TP
ON TP.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO
WHERE DATE_FORMAT(NF.DATA_VENDA, '%Y') = 2016
group by tp.TAMANHO, DATE_FORMAT(NF.DATA_VENDA, '%Y')) AS VENDA_TAMANHO
INNER JOIN
(SELECT DATE_FORMAT(NF.DATA_VENDA, '%Y') AS ANO_DA_VENDA, SUM(INF.QUANTIDADE) AS QUANTIDADE_TOTAL # DEFININDO A QUANTIDADE TOTAL VENDIDA EM 2016
FROM NOTAS_FISCAIS NF
INNER JOIN itens_notas_fiscais INF
ON NF.NUMERO = INF.NUMERO
INNER JOIN tabela_de_produtos TP
ON TP.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO
WHERE DATE_FORMAT(NF.DATA_VENDA, '%Y') = 2016
group by DATE_FORMAT(NF.DATA_VENDA, '%Y')) AS VENDA_TOTAL
ON VENDA_TAMANHO.ANO_DA_VENDA = VENDA_TOTAL.ANO_DA_VENDA
ORDER BY PORCENTAGEM DESC;