[英]Cumulative average mysql php
我有一桌名字的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
您查詢將得到44.628099173554這是絕對正確的。
Total: 10+30+18+17+4+2+27+6+7 = 121
Carbs Only: 10+17+27 = 54
(54 / 121) * 100 = 44,63%
SQL小提琴: http ://sqlfiddle.com/#!2 / 3d6e5 / 3
給定數據和您正在使用的查詢的結果是: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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.