查找每个人的最近X条记录的平均值

Sto*_*imo 2 mysql

我有一张桌子,存储着每个球员的所有得分。我想取出最后3个(或更少)并显示平均值。

例:

TABLE log
time  p_id  score
----  ----  -----
12:00 0     10
14:23 0     25
14:25 1     30
16:27 0     70
17:00 0     80
Run Code Online (Sandbox Code Playgroud)

现在我想找到所有玩家最近3个条目的平均值...

结果:

p_id  avg
----  ---
0     58
1     30
Run Code Online (Sandbox Code Playgroud)

我应该如何进行?

Joc*_*ung 5

SELECT p_id, avg(score) as avg_score
FROM (
  SELECT p_id, score FROM log ORDER BY time LIMIT 3
)
GROUP BY p_id
Run Code Online (Sandbox Code Playgroud)

应该可以。