我有两张桌子:学生和结果。
对于学生,字段为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()
在这里没有给出正确答案。
答案 0 :(得分:1)
应该像将两张桌子连在一起一样简单,按等级分组并选择所有分数的平均值。
SELECT grade,
Avg(score)
FROM students
JOIN results using (student_id)
GROUP BY grade
答案 1 :(得分:0)
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