[size=medium]Table: course
字段信息
course_id int(11)
name varchar(20)
Table: score
字段信息
id int(11)
student_id int(11)
course_id int(11)
score int(11)
Table: student
字段信息
student_id int(11)
name varchar(20)[/size]
查询结果
[quote]
学生 科目 成绩
马六 语文 96
王五 语文 73
孙七 语文 62
孙七 数学 99
王八 数学 80
马六 数学 38
李四 数学 38
王八 英语 99
李四 英语 90
王五 英语 34 [/quote]
字段信息
course_id int(11)
name varchar(20)
Table: score
字段信息
id int(11)
student_id int(11)
course_id int(11)
score int(11)
Table: student
字段信息
student_id int(11)
name varchar(20)[/size]
SELECT
student.name 学生,
course.name 科目,
mscore.score 成绩
FROM (SELECT *
FROM SCORE OSCORE
WHERE (SELECT
COUNT(*)
FROM SCORE ISCORE
WHERE ISCORE.COURSE_ID = OSCORE.COURSE_ID
AND ISCORE.SCORE > OSCORE.SCORE) < 3
ORDER BY OSCORE.COURSE_ID,OSCORE.SCORE DESC) mscore,
student,
course
WHERE student.student_id = mscore.student_id
AND course.course_id = mscore.course_id
查询结果
[quote]
学生 科目 成绩
马六 语文 96
王五 语文 73
孙七 语文 62
孙七 数学 99
王八 数学 80
马六 数学 38
李四 数学 38
王八 英语 99
李四 英语 90
王五 英语 34 [/quote]