Mysql SQL查询以获取两个表中每个组的平均值

Mysql SQL查询以获取两个表中每个组的平均值,mysql,sql,group-by,intersect,Mysql,Sql,Group By,Intersect,我有两张桌子:学生和成绩 对于学生,字段为student\u id、name、grade 对于结果,字段为student\u id,score 年级就像幼儿园,一、二、三。。。。就像在学校里一样 如您所见,student\u id在两个表中 我想要一个SQL查询,返回每个等级的平均分数,如 Pre-School => 50 Kindergarten => 26 等等 我尝试使用左连接分组,但没有任何效果 我一直在处理的查询如下: SELECT cat.grade,

我有两张桌子:学生和成绩

对于学生,字段为
student\u id、name、grade

对于结果,字段为
student\u id,score

年级就像幼儿园,一、二、三。。。。就像在学校里一样

如您所见,
student\u id
在两个表中

我想要一个SQL查询,返回每个等级的平均分数,如

Pre-School => 50 
Kindergarten => 26 
等等

我尝试使用左连接分组,但没有任何效果

我一直在处理的查询如下:

SELECT 
    cat.grade, 
    dog.score 
FROM (SELECT * FROM students GROUP BY grade) AS cat, results AS dog 
GROUP BY cat.grade

但这只是给了我一个等级的结果,所以这里的
AVG()
没有给出正确的答案。

应该很简单,将两个表连接在一起,按等级分组,然后选择所有分数的平均值

select id, avg(salary) avg_salary from Employee join results group by id order by avg(salary) desc;

  ID                 AVG_SALARY
 ---- ------------------------
 07                    7897.78
 02                    6661.78
 03                    6544.78
 06                    4322.78
 04                    2344.78
 05                    2334.78
 01                    1234.56
 08                    1232.78
SELECT grade, 
       Avg(score) 
FROM   students 
       JOIN results using (student_id) 
GROUP  BY grade 

您想为每个学生或所有学生获得每个年级的avarege分数吗?
从“按年级加入b组”中选择AVG(分数)
没问题,欢迎使用StackOverflow。记住对你认为正确的答案进行投票,并接受最能回答你问题的答案。非常感谢。我接受了你的回答。我不能投票,因为我的声望不低于15。非常感谢。