sql server 2000 排序列问题

sql server 2000数据库,一个表有两列分别为id和displayOrder,
表名为table1,id列为主键,displayOrder列用于排序

SELECT * FROM table1 ORDER BY displayOrder 后结果如下

     id       displayOrder
    162              1
    158              2
    159              2
    161              4
    160              7
    163              7
    166              7

displayOrder列存在重复值且值不连续,要求去除重复值且值要连续,也就是要得到
如下结果

SELECT * FROM table1 ORDER BY displayOrder

     id        displayOrer
    162               1
    158               2
    159               3
    161               4
    160               5
    163               6
    166               7

不可以用游标,哪位老大有什么好的办法吗?

补充:id列为自增列,除id列外没有其他唯一键,displayOrder由终端用户决定与其他列的取值没有任何关系

http://blog.csdn.net/binyao02123202/article/details/18619323

displayOrder 这个值都要变?用sql server的 row_number() 来解决 ,别名改为displayOrder

2005以上才有row_number(),2000没有