sql server 中如何查询学生表中每位学生全部科目中最高分对应的那行数据呢? 急急急 !
是在同一张表中,比如有10个学生,有的学生有3个科目的成绩,有的只有2个科目的成绩,我要查的是每个学生的最高分那科对应那行的数据,查询的结果应该就是有10条数据的,...
是在同一张表中, 比如有10个学生,有的学生有3个科目的成绩,有的只有2个科目的成绩,我要查的是每个学生的最高分那科对应那行的数据,查询的结果应该就是有10条数据的,
展开
3个回答
展开全部
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
[学号] [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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
牛叉,受教了
追问
这样还是不行耶, 能帮我再想想吗? 问题已经补充啦,
追答
没做过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询