Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
É o seguinte:
Imagine que tenho uma tabela produtos.... e os campos quant e unit.
Numa compra , o total comprado é sum(produtos.quant*produtos.unit)
Só que quero, para esta compra, exibir todos os produtos da compra, com suas quantidades, preços unitários e o percentual que cada produto
pesa no preço total da compra... então pensei em fazer assim
select quant, unit, 100*(quant*unit)/sum(quant*unit) as perc from produtos
porém, a query acima só retorna UM REGISTRO.... parece que a função sum restringe a exibição de todos os registros.
alguém pode me ajudar a resolver ?????Estamos quase lá... Consegui usar a técnica de criar outro select, dentro do primeiro, para que a sumarização se repita....
Mas não estou conseguindo fazer com que o alias criado na query seja reconhecido na própria query....
>
45 minutos atrás, Motta disse:
https://pt.stackoverflow.com/questions/147203/mysql-calcular-a-porcentagem-escolhida
Estamos quase lá... Consegui usar a técnica de criar outro select, dentro do primeiro, para que a sumarização se repita....
Mas não estou conseguindo fazer com que o alias da sumarização, criado na query, seja reconhecido na própria query, para que ele calcule a porcentagemselect med_1_1.qtemedida, med_1_1.unit, med_1_1.qtemedida*med_1_1.unit as totpar, (select sum(med_1_1.qtemedida*med_1_1.unit) from med_1_1) as soma, 100*totpar/soma as perc from med_1_1 order by perc
ao tentar calcular perc, o mysql não reconhece os aliases totpar nem soma para poder calcular 100*totpar/soma.
Já tentei chamar totpar de med_1_1.totpar e soma de med_1_1.soma.... mas não funcionou mesmo assim...
Diz que totpar e soma são colunas desconhecidas....select x.*,
100*totpar/soma as perc
from (select med_1_1.qtemedida,
med_1_1.unit,
med_1_1.qtemedida*med_1_1.unit as totpar,
(select sum(med_1_1.qtemedida*med_1_1.unit)
from med_1_1) as soma
from med_1_1 order by perc) x
Creio que resolva
https://pt.stackoverflow.com/questions/147203/mysql-calcular-a-porcentagem-escolhida