我有一个表名meal
id name carbs protein fat
1 one 10 30 18
2 one 17 4 2
3 one 27 6 7
现在我想得到碳水化合物的累积平均值
我的查询是
SELECT (100*(sum(m.carbs)/(sum(m.carbs)+sum(m.fat)+sum(m.protein))))AS Percantage_carbs FROM `meal` AS m
我的查询结果为52.2580645
但我会
52.8848076
答案 0 :(得分:1)
您的查询将导致44.628099173554绝对正确。
Total: 10+30+18+17+4+2+27+6+7 = 121
Carbs Only: 10+17+27 = 54
(54 / 121) * 100 = 44,63%
答案 1 :(得分:0)
给出的数据和您正在使用的查询的结果是:44,628099174
我猜你的查询应该是这样的(你错过了小组):
SELECT (
100 *
(sum(m.carbs)
/
(sum(m.carbs)+ sum(m.fat)+ sum(m.protein)))
) AS Percantage_carbs
FROM `meal` AS m
GROUP BY name