小编use*_*198的帖子

怎么做这个SQL查询?

架构:

Student(studentid,name,age)
Course(coursename,dept)
enroll(studentid,coursename,grade)
Run Code Online (Sandbox Code Playgroud)

我需要编写sql来查找每个年龄组的学生姓名,其中最高分为历史和政治科学系.

到目前为止我的尝试一直是

SELECT 
    name 
FROM 
    student 
GROUP BY age 
HAVING sid IN 
            (
                SELECT 
                    max(grade) 
                FROM 
                    enroll e,enroll e1 
                WHERE 
                    e.studentid = e1.studentid 
                AND e.coursename = (
                                    SELECT coursename FROM course 
                                    WHERE 
                                        dname like '%History%'
                                  ) 
                AND e1.coursename = (
                                    SELECT coursename FROM course 
                                    WHERE 
                                        dname like '%PoliticalScience%'
                                    )
            )
Run Code Online (Sandbox Code Playgroud)

mysql sql

5
推荐指数
1
解决办法
159
查看次数

标签 统计

mysql ×1

sql ×1