簡體   English   中英

如何計算累計平均值

[英]How to calculate cumulative average

我想計算數據的累計平均值。

在我的查詢中,我現在獲得每個日期的總和值。但是我很困惑如何計算累計平均值。

我的查詢

SELECT 
  u.id,
  (SUM(m.protein)),
  DATE(FROM_UNIXTIME(u.create)) AS Cdate,
  goal.what,
  goal.value 
FROM
  `meal` AS m,
  `user_history` AS u 
LEFT JOIN goal 
    ON goal.what = 'Protein' 
    AND goal.user_id = 48 
WHERE u.meal_id = m.id 
  AND u.user_id = 48 
GROUP BY DATE(FROM_UNIXTIME(u.create))

在這里,我通過sum(m.protein)得出總和值,但是我想在這里累積平均值

SET @csum=0;
SELECT 
  u.id,
  (SUM(m.protein)) as sum1,
  (@csum := @csum + sum1) as CSUM,
  DATE(FROM_UNIXTIME(u.create)) AS Cdate,
  goal.what,
  goal.value 
FROM
  `meal` AS m,
  `user_history` AS u 
LEFT JOIN goal 
    ON goal.what = 'Protein' 
    AND goal.user_id = 48 
WHERE u.meal_id = m.id 
  AND u.user_id = 48 
GROUP BY DATE(FROM_UNIXTIME(u.create))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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