sql获取每门课程成绩最好的学生信息

1.相关数据表

Score表

[User]表

SQL语句例如以下:

--查询出各科成绩最好的学生信息
--自连接
--SELECT TOP 1 * FROM Score B WHERE B.ScoreName = '数学' ORDER BY B.Score DESC

SELECT A.ID,U.Name,A.ScoreName,A.Score
FROM Score A,[User]U
WHERE UID IN (SELECT TOP 1 UID
                       FROM Score B
                      WHERE B.ScoreName = A.ScoreName
                      ORDER BY B.Score DESC) AND A.UID=U.ID
ORDER BY A.ScoreName, A.Score DESC

 

查询结果例如以下图:

 

posted @ 2016-03-09 10:02  mfrbuaa  阅读(2478)  评论(0编辑  收藏  举报