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

是在同一张表中,比如有10个学生,有的学生有3个科目的成绩,有的只有2个科目的成绩,我要查的是每个学生的最高分那科对应那行的数据,查询的结果应该就是有10条数据的,... 是在同一张表中, 比如有10个学生,有的学生有3个科目的成绩,有的只有2个科目的成绩,我要查的是每个学生的最高分那科对应那行的数据,查询的结果应该就是有10条数据的, 展开
 我来答
百度网友bfb9204
2012-05-19 · TA获得超过718个赞
知道小有建树答主
回答量:1008
采纳率:66%
帮助的人:448万
展开全部
select t1.*
from 学生表 t1,
(select 学号,max(成绩)as 成绩 from 学生表 group by 学号)t2
where t1.学号=t2.学号
and t1.成绩=t2.成绩
junailan2
2012-05-19 · 超过32用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:77万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宁学78
2012-05-19
知道答主
回答量:23
采纳率:0%
帮助的人:3.4万
展开全部
牛叉,受教了
追问
这样还是不行耶, 能帮我再想想吗? 问题已经补充啦,
追答
没做过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式