查处每门功课前两名学生的名字,课程名,成绩

时间:2015-09-16 19:51:15   收藏:0   阅读:204

Table:

Student(Sno,Sname,Sage,Ssex)
Course(Cno,Cname,Teacher)
SC(Sno,Cno,Grade)

 

SQL:

SELECT S.Sname ,C.Cname,D.Grade
FROM Student S,Course C,
(  

  --这部分是关键:

  SELECT *

  FROM dbo.SC SCA

  WHERE grade IN
  (
    SELECT DISTINCT TOP 2 grade

    FROM SC
    WHERE SCA.Cno=Cno
    ORDER BY Grade DESC
  )

) AS D
WHERE S.Sno=D.Sno AND C.Cno=D.Cno
ORDER BY D.Cno ASC

 

原文:http://www.cnblogs.com/alexzp/p/4814061.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!