簡體   English   中英

累積平均MySQL PHP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM