首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

求一sql语句(排名次)解决思路

2012-04-18 
求一sql语句(排名次)SQL code有一学生成绩表create table scores(SID INT NOT NULL,--学生编号CLASS_ID IN

求一sql语句(排名次)

SQL code
有一学生成绩表create table scores(SID INT NOT NULL,--学生编号CLASS_ID INT ,--班级SCORE FLOAT,--分数classpank  int ,--班内名次(默认值为NULL)............)


现在学生成绩表的信息已经录入(学生编号,班级编号,分数),但是classpank(班内名次)还是空的。
现在需要写个update语句,将每个学生在本班的名次得出来---

请问这个语句怎么写呢????

[解决办法]
update scores set scores.classpank=t.classpank from scores,(select [SID],ROW_NUMBER() over( partition by CLASS_ID order by SCORE desc) as classpank from scores)t 
where scores.[SID]=t.[SID];
[解决办法]
忘加了个判断。
update scores set classpank =( select count(1) from scores where classpank>=1 )+1 where CLASS_ID in ( select CLASS_ID from scores SCORE = (select max(SCORE) from scores where classpank=="" ) )

热点排行