的平均我有这样的事情:一个MySQL查询得到,每每一行,前面的三排
id | value
---------------
201311 | 10
201312 | 15
201401 | 20
201402 | 5
201403 | 17
,我需要这样一个结果:
201311 | NULL or 0
201312 | 3.3 // 10/3
201401 | 8.3 // (15+10)/3
201402 | 15 // (20+15+10)/3
201403 | 13.3 // (5+20+15)/3
到目前为止,我得到了我可以得到最后三个以前的行的AVG像这样的点:
select AVG(c.value) FROM (select b.value from table as b where b.id < 201401 order by b.id DESC LIMIT 3) as c
手动传递ID。我无法为每个ID做到这一点。
任何想法将不胜感激!
非常感谢。
问候
你想要这样的结果,但为什么你的where子句湾ID <201401.请提供有效的结果。 NULL或0从哪里来? 201311得到价值10即使你平均它不会使它0 – 2014-10-09 09:21:35
我把201401,因为我无法将每个ID传递给该查询。 NULL或0是因为我需要前面3行的平均值 – Gotrekk 2014-10-09 09:26:45
Er,25/2 = 12.5 – Strawberry 2014-10-09 09:38:46