【发布时间】:2012-07-03 14:40:03
【问题描述】:
课程(cid、cname、描述)
教授(pid,pname)
教学(tid、cid、pid、年份、学期、部门)
学生(sid、lname、fname、b_date、部门)
Enrolled_stud(sid、tid、enrollment_date、grade、grade_date)
问题:查询所有平均分最高的学生姓名:
SELECT a.sname,a.avg
FROM (SELECT s1.sname,avg(e.grade)AS avg
FROM Students s1
NATURAL JOIN EnrolledStudents e
GROUP BY s1.sid
) as a
where a.avg=(select max(a.avg))
你可以看到我在SQLFIDDLE 中得到的结果,你可以看到我做错了什么,但我不明白!这一切对我来说似乎都是正确的......
【问题讨论】:
-
这是免费的斯坦福课程吗?
-
不,我正在为我的 DBMS 考试学习...
-
您的预期结果是什么?你期待只有一排吗?我想数据的问题并没有引起我的注意。
-
它应该输出 Lilach Dba,因为她的 avg 最高
-
布鲁斯,这可能行得通,但我真的很想了解我提出的查询有什么问题......你有什么想法吗?