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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 中如何查询学生表中每位学生全部科目中最高分对应的那行数据呢? 急急急 !相关的知识,希望对你有一定的参考价值。

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

select t1.*
from 学生表 t1,
(select 学号,max(成绩)as 成绩 from 学生表 group by 学号)t2
where t1.学号=t2.学号
and t1.成绩=t2.成绩
参考技术A 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
参考技术B 牛叉,受教了追问

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

追答

没做过

SQL Server数据库DML操作

SQL Server数据库DML操作

补充:

1.删除数据库:

例子:drop database 学生数据库

2.删除表

例子:drop table 学生表

1.在表中增加数据

例子:

insert into学生表(学号,姓名,性别,出生日期,政治面貌) values(43,‘yyw‘,‘男‘,‘2000-7-5,‘党员‘‘);

2.在表中更改数据

例子

update 学生表 set 姓名=‘yyh‘ where 学号=43;

3.在表中删除数据

例子

delete from 学生表 where 学号=43;

delete from 学生表;

以上是关于sql server 中如何查询学生表中每位学生全部科目中最高分对应的那行数据呢? 急急急 !的主要内容,如果未能解决你的问题,请参考以下文章

创建一个存储过程,给定某学生学号,要求查询出该学生的姓名,所选课程名和成绩.(SQL SERVER)

SQL Server学习笔记——单表查询

SQL Server学习笔记——单表查询

LeetCode:Database 51.每位学生的最高成绩

SQL Server学习笔记——多表查询

SQL Server学习笔记——多表查询