sql server 中如何查询学生表中每位学生全部科目中最高分对应的那行数据呢? 急急急 !

是在同一张表中, 比如有10个学生,有的学生有3个科目的成绩,有的只有2个科目的成绩,我要查的是每个学生的最高分那科对应那行的数据,查询的结果应该就是有10条数据的,

select t1.*
from 学生表 t1,
(select 学号,max(成绩)as 成绩 from 学生表 group by 学号)t2
where t1.学号=t2.学号
and t1.成绩=t2.成绩
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-19
CREATE TABLE [dbo].[成绩表](
[学号] [nvarchar](10),
[姓名] [nvarchar](5),
[科目] [nvarchar](20),
[分数] [decimal](3, 1)
)

SELECT [学号],[姓名],[科目],[分数] FROM(
SELECT *,ROW_NUMBER() OVER(PARTITION BY 学号 ORDER BY 分数 DESC) AS orderNum FROM 成绩表) TEMP
WHERE orderNum=1
第2个回答  2012-05-19
牛叉,受教了追问

这样还是不行耶, 能帮我再想想吗? 问题已经补充啦,

追答

没做过

sql server 中如何查询学生表中每位学生全部科目中最高分对应的那行数 ...
select t1.from 学生表 t1,(select 学号,max(成绩)as 成绩 from 学生表 group by 学号)t2 where t1.学号=t2.学号 and t1.成绩=t2.成绩

SQL查询语句: 查询 每科目分数最高的5项(学生姓名,科目,分数)
select '姓名21' as n,'科目3' as s,'82' as sc union all select '姓名22' as n,'科目3' as s,'65' as sc union all select '姓名23' as n,'科目3' as s,'63' as sc union all select '姓名26' as n,'科目3' as s,'83' as sc --这是查询语句,把@t改成自己实际...

用sql命令在"学生资讯表"中查询成绩大於60分的学生记录
用sql查询记录号是奇数的学生的所有资讯 select * from 表 where mod(记录号,2)=1;MSSQL:select * from 表 where 记录号%2=1;用SQL SERVER在学生成绩资讯表中把低於平均成绩的成绩提高10分 update t set t.成绩=t.成绩+10 from 成绩资讯表 t where t.成绩< (select avg(成绩) from 成绩...

sql server问题!!!急
select 学生 教师 课程 成绩 from taba AS A,tabB AS B,tabC As C where select 学生姓名,科目,成绩,教师姓名 from tabA,tabB,tabC where 学生编号=学生 编号[外键] And 科目=教师所教科目 学生所有科目成绩 create table Teacher (TID int identity(1,1),TName varchar(20), --教师姓名 T...

【急求】用sql语句求成绩表中各个科目大于平均值的人数
你这样肯定是不行的。where 中不能用聚合函数嵌套的。不想用存储过程只有 select COUNT(1),名字 FROM 表1 where 语文> (select AVG(语文) FROM 表1) group by 名字 union select COUNT(1),名字 FROM 表1 where 数学> (select AVG(数学) FROM 表1) group by 名字 Union select COUNT(1...

SQL语句查询每组不是最高分
select 姓名,科目,分数 ,年度 from table where 分数<(select max(分数) from table)即可实现该功能!

SQL求总分及平均值
1.打开数据库软件,添加数据库,右键点击并选择新查询。2.输出带SQL语句的类zd名称,附加项的平均分,命令是selectclasstableversion。类名,avg(分数)为平均分。3.将学生表和班级表与班级号连接起来,然后将结果表和学生表与学生号连接起来。4.数据表关联一般是使用联接命令,该命令是来自学生表联接类...

【技术分享】高级SQL分析函数-窗口函数(1)- 排名计算
1.这次考试本年级各个科目的前2名的同学。2.这次考试每个班级中各个科目的前2名。3.这次考试每个班级中的总分排名前2名。如果用普通的SQL查询即麻烦也费时间,而使用RANK和DENSE_RANK函数就可以很快地查询出想要的学生数据,下面将为大家介绍如何使用RANK和DENSE_RANK函数实现学生数据的查询。1.查询本...

数据库中count(all 表达式)函数怎麽用啊
只查询不同成绩的数据用于分类,如果表中的数据是:成绩 姓名 科目100 张三 数学90 张三 语文90 李四 数学80 李四 语文那么结果就是1009080 如果要查各成绩分类中各有多少个学生,可以使用:Select 成绩,Count(*) from 成绩表 Group By 成绩则结果为:100 190 ...

数据库有2张表,一张学生表,一张成绩表,查询某学生的成绩,sql语言怎么写...
连接查询。根据2张表关联的字段查询,比如学生表有学生ID字段,成绩表如果也有这个ID,则select * from [学生表] inner join [成绩表] on [学生表].ID=[成绩表].学生ID mysql和sql server 数据库中 sql 语言应该都是一样的,但是函数。。。特有的肯定不一样的,sql(结构化查询语言)语言都是一样的,你可以百度...

相似回答