我有两个表:学生和结果。
对于学生,字段为student_id、姓名、年级
对于结果,字段为 student_id、score
年级就像学前类,一、二、三......就像在学校一样。
如您所见,student_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 grade,
Avg(score)
FROM students
JOIN results using (student_id)
GROUP BY grade
关于mysql - SQL查询获取两个表中每组的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22006013/