sql查询出各科成绩最好的学生信息_MsSql

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

查询结果如下图:

时间: 2024-08-03 15:50:18

sql查询出各科成绩最好的学生信息_MsSql的相关文章

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 W

sql查询-查询出所有成绩都大于60的学生,表在下面

问题描述 查询出所有成绩都大于60的学生,表在下面 表st 姓名 科目 成绩 张三 语文 80 李四 语文 79 李四 数学 94 王五 语文 97 王五 数学 57 王五 英语 92 赵六 语文 52 赵六 数学 35 赵六 英语 97 赵六 物理 18 ... 解决方案 select * from st group by name having min(成绩)>60; 解决方案二: select * from t_student where id >60; 解决方案三: select *

sql查询每个班上成绩最高的学生信息

  sql查询每个班上成绩最高的学生信息 数据库表和数据准备: if exists (select * from sysobjects where id = OBJECT_ID('[classinfo]') and OBJECTPROPERTY(id, 'IsUserTable') = 1) DROP TABLE [classinfo] CREATE TABLE [classinfo] ( [id] [bigint] NOT NULL, [classID] [bigint] NOT NULL,

visual studio-2010vs C#和sql的.CS的环境下实现学生信息增删查改?

问题描述 2010vs C#和sql的.CS的环境下实现学生信息增删查改? 如何在vs c#和sql .cs的环境中实现对学生信息的增删查改呢? 各路老师们教教我这个初学者吧! 解决方案 参考这个完整的程序http://download.csdn.net/download/sjdongfang/2173372 解决方案二: 增删查改是编程的基本操作,很多教程都有介绍..自己从基础上做的话,要sql语句,还有C#的基本语法.增删查改是比较简单的. 相关知识点的话就是: 1.sql语句对数据库的增删

[小白求高手指点] SQL查询出的数值进行计算输出到TEXTBOX

问题描述 SQL中查询出学生成绩平均分方差进行成绩一体化计算x=(成绩-平均分)/方差结果x输出到textbox但报错求帮忙应该是object和int等类型之间转换的问题代码如下stringtrouble="server=.;database=学生成绩智能管理系统;userid=sa;pwd=123123;";SqlConnectioncnn=newSqlConnection(trouble);cnn.Open();stringtrouble1="SELECT课程表.成绩FR

Struts2自定义标签2自定义一个按班级id查询出该班级下的学生,存放进值栈,并遍历出来。

Struts2自定义标签的流程概念: (1)需要两个类:标签类(继承相应的tag类),基本类(继承Component).标签类专门负责从客户端取得用户输入的一些属性,这个普通的jsp自定义标签一样,取出来以后,需要把取出的属性值赋给基本类.从而可以看到基本类里面的属性也跟tag里面差不多. (2)tag类里面,需要定义你客户端传来的属性.私有化.并相应的set get.  必须的两个方法是public Component getBean(ValueStack stack,HttpServletR

SQL 查询和删除重复字段数据的方法_MsSql

例如: id           name         value 1               a                 pp 2               a                 pp 3               b                 iii 4               b                 pp 5               b                 pp 6               c           

SQL查询出表、存储过程、触发器的创建时间和最后修改时间示例_数据库其它

--查询建立时间 --表 select * from sysobjects where id=object_id(N'表名') and xtype='U' --表的结构 select * from syscolumns where id=object_id(N'表名') --存储过程 select * from sysobjects where id=object_id(N'dqtx') and xtype='P' --查询最后修改时间 --存储过程 select name,modify_dat

SQL查询中in和exists的区别分析_MsSql

select * from A where id in (select id from B); select * from A where exists (select 1 from B where A.id=B.id); 对于以上两种情况,in是在内存里遍历比较,而exists需要查询数据库,所以当B表数据量较大时,exists效率优于in. 1.select * from A where id in (select id from B); in()只执行一次,它查出B表中的所有id字段并缓存