我有两个表:学生和结果。
对于学生,student_id, name, grade
字段为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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句