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

SQL server表中数据排序有关问题

2012-05-29 
SQL server表中数据排序问题我在sql server 2000数据库中建了一个成绩表,其中一列为“成绩”列,一列为“名次”

SQL server表中数据排序问题
我在sql server 2000数据库中建了一个成绩表,其中一列为“成绩”列,一列为“名次”列(即按成绩的排名)。“成绩”列我采用了降序排列,但我同时想让“名次”列自动按成绩的大小实现从1开始依次递增的升序排列。请问各位高手,怎样才能做到这点。谢谢!

[解决办法]
你是成绩 和名次两个字段?
按照你说的,只要按照任意一个字段排一下不就可以了
[解决办法]

SQL code
--不分学科select *,rank()over(order by 成绩 desc) as 名次 from tbl--分学科select *,rank()over(partition by 课程 order by 成绩 desc) as 名次 from tbl
[解决办法]
SQL code
select *,名次=(select count(*) from tb where 成绩>=a.成绩)from tb a order by 成绩 desc
[解决办法]
SQL code
SELECT *,名次=ROW_NUMBER() OVER (ORDER BY 成绩 DESC) FROM tb ORDER BY 成绩 DESC 

热点排行