スキーマ:
Student(studentid,name,age)
Course(coursename,dept)
enroll(studentid,course,grade)
を見つける必要があります。各年齢グループの学生は、政治学と歴史のために取ったコースの平均成績を見つけ、各年齢グループの最大平均成績を持つ学生の名前を返す必要があります
これまでの私の試みは次のとおりです。
select max(grade), age, name
from (
select name, age, grade
from student s, (
select avg(grade) as grade, e.studentid
from enroll e
where dname in ('Political Sciences', 'History')
group by studentid
) as temp
where s.studentid = temp.studentid
) temp1
group by temp1.age;
構文的にではなく、論理的に正しいかどうかを知りたいです。