Considerando que a quantidade é uma unidade de produto e que não necessariamente é 1 litro segue passos: 1 - CRIAÇÃO DE UM VIEW TRANSFORMANDO OS VOLUMES DE STRING PARA DECIMAL.
SELECT
`tabela_de_produtos`.`CODIGO_DO_PRODUTO` AS `CODIGO_DO_PRODUTO`,
(CASE
WHEN (SUBSTRING_INDEX(`tabela_de_produtos`.`TAMANHO`, ' ', 1) = 700) THEN CAST(0.70 AS DECIMAL (2 , 2 ))
WHEN (SUBSTRING_INDEX(`tabela_de_produtos`.`TAMANHO`, ' ', 1) = 350) THEN CAST(0.35 AS DECIMAL (2 , 2 ))
WHEN (SUBSTRING_INDEX(`tabela_de_produtos`.`TAMANHO`, ' ', 1) = 470) THEN CAST(0.47 AS DECIMAL (2 , 2 ))
WHEN (SUBSTRING_INDEX(`tabela_de_produtos`.`TAMANHO`, ' ', 1) = '1,5') THEN CAST(1.5 AS DECIMAL (2 , 1 ))
ELSE CAST(SUBSTRING_INDEX(`tabela_de_produtos`.`TAMANHO`, ' ', 1)
AS DECIMAL (1 , 1 ))
END) AS `TAMANHO`
FROM
`tabela_de_produtos`
2 - CRIAÇÃO DOS VOLUMES EM L, POR SABOR E TOTAL 2.1 - POR SABOR
(SELECT
SABOR, SUM(UNIDADE) AS VOLUME_L, ANO
FROM
(SELECT
SABOR,
(SUM(QUANTIDADE) * D.TAMANHO) AS UNIDADE,
YEAR(DATA_VENDA) AS ANO,
D.TAMANHO
FROM
itens_notas_fiscais A
INNER JOIN tabela_de_produtos b ON A.CODIGO_DO_PRODUTO = B.CODIGO_DO_PRODUTO
INNER JOIN notas_fiscais C ON A.NUMERO = C.NUMERO
INNER JOIN VW_TAMANHO D ON A.CODIGO_DO_PRODUTO = D.CODIGO_DO_PRODUTO
WHERE
YEAR(DATA_VENDA) = 2016
GROUP BY SABOR , D.TAMANHO , YEAR(DATA_VENDA) ) AS TB_2
GROUP BY SABOR , ANO) AS VENDA_SABOR''
2.2 - VOLUME TOTAL
(SELECT
ANO, SUM(TOTAl) AS TOTAL_l
FROM
(SELECT
YEAR(DATA_VENDA) AS ANO,
(SUM(QUANTIDADE) * B.TAMANHO) AS TOTAL,
TAMANHO
FROM
itens_notas_fiscais A
INNER JOIN notas_fiscais C ON A.NUMERO = C.NUMERO
INNER JOIN vw_tamanho B ON B.CODIGO_DO_PRODUTO = A.CODIGO_DO_PRODUTO
WHERE
YEAR(DATA_VENDA) = 2016
GROUP BY YEAR(DATA_VENDA) , B.TAMANHO) AS tb
GROUP BY ANO) AS VENDA_TOTAL
AGORA TUDO JUNTO COM O INNER JOIN
SELECT
SABOR,
VENDA_SABOR.ANO,
VOLUME_L,
CONCAT(ROUND(((VOLUME_L / TOTAL_l) * 100), 1),
'%') AS PERCENTAGEM
FROM
(SELECT
ANO, SUM(TOTAl) AS TOTAL_l
FROM
(SELECT
YEAR(DATA_VENDA) AS ANO,
(SUM(QUANTIDADE) * B.TAMANHO) AS TOTAL,
TAMANHO
FROM
itens_notas_fiscais A
INNER JOIN notas_fiscais C ON A.NUMERO = C.NUMERO
INNER JOIN vw_tamanho B ON B.CODIGO_DO_PRODUTO = A.CODIGO_DO_PRODUTO
WHERE
YEAR(DATA_VENDA) = 2016
GROUP BY YEAR(DATA_VENDA) , B.TAMANHO) AS tb
GROUP BY ANO) AS VENDA_TOTAL
INNER JOIN
(SELECT
SABOR, SUM(UNIDADE) AS VOLUME_L, ANO
FROM
(SELECT
SABOR,
(SUM(QUANTIDADE) * D.TAMANHO) AS UNIDADE,
YEAR(DATA_VENDA) AS ANO,
D.TAMANHO
FROM
itens_notas_fiscais A
INNER JOIN tabela_de_produtos b ON A.CODIGO_DO_PRODUTO = B.CODIGO_DO_PRODUTO
INNER JOIN notas_fiscais C ON A.NUMERO = C.NUMERO
INNER JOIN VW_TAMANHO D ON A.CODIGO_DO_PRODUTO = D.CODIGO_DO_PRODUTO
WHERE
YEAR(DATA_VENDA) = 2016
GROUP BY SABOR , D.TAMANHO , YEAR(DATA_VENDA) ) AS TB_2
GROUP BY SABOR , ANO) AS VENDA_SABOR ON VENDA_SABOR.ANO = VENDA_TOTAL.ANO
GROUP BY SABOR , ANO
ORDER BY VOLUME_L DESC;