如何计算累积平均值

时间:2014-07-21 06:18:31

标签: mysql sql

我想计算数据的累积平均值。

在我的查询中,我现在得到每个日期的总和值。但我很困惑如何计算累计平均值。

我的查询

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)的和值,但我想要累积平均值

1 个答案:

答案 0 :(得分:0)

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))