我有两张这样的桌子:
学生
ID | Name | Class
1 | Jonh | 12
2 | Smit | 11
3 | David | 10
4 | Simon | 11
5 | Kate | 12
6 | Marry | 11
分数
Studentid | Score
4 | 10
1 | 5
2 | 7
3 | 9
5 | 8
我需要像这样计算每个班级的平均值
Class| Average
10 | 9
11 | 8.5
12 | 6.5
请帮助我做到这一点。 我试过这个:
SELECT stud.class, AVG(scor.mark) AS avg_mark
FROM STUDENT stud
INNER JOIN SCORE scor ON stud.id = scor.studentid
GROUP BY stud.class
任何帮助将不胜感激
答案 0 :(得分:0)
您的查询看起来是正确的,但您的查询中有一个错误
round(avg(scor.score), 1) 是对平均值进行四舍五入
试试这个
SELECT stud.class, round(avg(scor.score), 1) AS avg_mark
FROM STUDENT stud
INNER JOIN SCORE scor ON stud.id = scor.studentid
GROUP BY stud.class
Score 表中不存在列标记。