平均mySQL中的平均值

Emi*_*ily 0 mysql

我有一张桌子

汽车

 id |  person_id  |  mpg
------------------------  
 4  |     1       |  50
 5  |     1       |  15
 6  |     2       |  10
 7  |     2       |  28
 8  |     3       |  33
Run Code Online (Sandbox Code Playgroud)

我需要得到每个人的平均mpg,然后是该组的平均值.

person 1 avg = (50 + 15) / 2 = 32.5
person 2 avg = (10 + 28) / 2 = 19
person 3 avg = 33

group average = 32.5 + 19 + 33 / 3 = 28.1
Run Code Online (Sandbox Code Playgroud)

有查询可以满足我的需求吗?

Ben*_*Ben 5

SELECT person_id, AVG(mpg) from car group by person_id;
Run Code Online (Sandbox Code Playgroud)

如果你想获得该组的平均值,你应该这样做:

SELECT AVG(mpg) from car;
Run Code Online (Sandbox Code Playgroud)

除非你真的想平均平均值,这对我来说似乎有点不确定:

SELECT AVG(average) from (SELECT person_id, AVG(mpg) as average from car group by person_id);
Run Code Online (Sandbox Code Playgroud)