sql查询出各科成绩最好的学生信息
更新时间:2014年05月15日 16:18:58 作者:
这篇文章主要介绍了如何使用sql查询出各科成绩最好的学生信息,需要的朋友可以参考下
1.相关数据表
Score表
[User]表
![](//img.jbzj.com/file_images/article/201405/20140515161635.jpeg?2014415161655)
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
查询结果如下图:
Score表
![](http://img.jbzj.com/file_images/article/201405/20140515161550.jpeg?2014415161612)
[User]表
![](http://img.jbzj.com/file_images/article/201405/20140515161635.jpeg?2014415161655)
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
查询结果如下图:
![](http://img.jbzj.com/file_images/article/201405/20140515161723.jpeg?2014415161747)
您可能感兴趣的文章:
- MySQL学习笔记3:表的基本操作介绍
- 单个select语句实现MySQL查询统计次数
- mysql查询昨天 一周前 一月前 一年前的数据
- mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句
- MySql查询时间段的方法
- MySQL查询和修改auto_increment的方法
- 一个优化MySQL查询操作的具体案例分析
- MySQL查询倒数第二条记录实现方法
- 50条SQL查询技巧、查询语句示例
- SQL查询出表、存储过程、触发器的创建时间和最后修改时间示例
- 大幅优化MySQL查询性能的奇技淫巧
- SQL大量数据查询的优化及非用like不可时的处理方案
- 如何使用MySQL查询某个列中相同值的数量统计
- SQL如何实现MYSQL的递归查询
- 数据库表的查询操作(实验二)
- 数据库表的查询操作实践演练(实验三)
相关文章
sql 数据库出现“只读”提示 解决方法 (sql 错误 5120)
这篇文章主要介绍了sql 数据库出现“只读”提示 解决方法 (sql 错误 5120),需要的朋友可以参考下2016-02-02一列保存多个ID(将多个用逗号隔开的ID转换成用逗号隔开的名称)
在做项目时,经常会遇到这样的表结构在主表的中有一列保存的是用逗号隔开ID2012-07-07SqlServer参数化查询之where in和like实现之xml和DataTable传参介绍
在上一篇Sql Server参数化查询之where in和like实现详解中介绍了在Sql Server使用参数化查询where in的几种实现方案,遗漏了xml和表值参数,这里做一个补充2012-05-05
最新评论