-1

如何使用sql server 2005将列中的旧序列更改为新序列

old new
   1   1
   1   1
   3   2
   4   3
   5   4
   5   4
   5   4
   8   5
   8   5
   10  6
4

3 回答 3

1

我想你正在寻找dense_rank

select dense_rank() over (order by old) rn, old
from yourtable
order by old
于 2014-03-29T04:44:26.730 回答
0

你在寻找DENSE_RANK ()

SELECT
    T.*
    ,DENSE_RANK() OVER (ORDER BY T.Old) As New
FROM Table1 T

小提琴演示

于 2014-03-29T04:41:53.337 回答
0

使用不带子句的窗口函数:dense_rank()PARTITION

SELECT old, dense_rank() OVER (ORDER BY old) AS new
FROM   tbl;
于 2014-03-29T04:42:06.813 回答