获取行的动态索引

时间:2011-09-29 17:40:10

标签: sql sql-server-2008 sql-server-2008-r2 ssms

我已经创建了一个SQL查询,它以特定的方式对表的所有行进行排序。

问:如何在这样一个动态创建的列表中获取某一行的行号(索引?)?

提前致谢。

1 个答案:

答案 0 :(得分:4)

SELECT Row_NUMBER() OVER (ORDER BY <your criteria>) as RowIndex, other fields
FROM MyTable

<强>更新

要将其添加为字段,您可以执行以下操作:

UPDATE T
SET T.Indexfield = X.RowIndex
FROM MyTable T
INNER JOIN (SELECT Row_NUMBER() OVER (ORDER BY <your criteria>) as RowIndex, other fields
            FROM MyTable) as X
    ON X.<field> = T.<Field>