Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取行的动态索引_Sql_Sql Server 2008_Sql Server 2008 R2_Ssms - Fatal编程技术网

Sql 获取行的动态索引

Sql 获取行的动态索引,sql,sql-server-2008,sql-server-2008-r2,ssms,Sql,Sql Server 2008,Sql Server 2008 R2,Ssms,我创建了一个SQL查询,它以特定的方式对表中的所有行进行排序 问:如何获取行号索引?在这样一个动态创建的列表中的某一行 提前谢谢 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

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

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

提前谢谢

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>

您想对第X行编号做什么?如果您只需要一个行索引,请在order by field1、field2等上使用row_number。在我将括号添加到row_number->row_number之前,这似乎不起作用。谢谢我如何循环遍历列表中的行,例如,将此新索引作为该行某列的值赋予该行?@acid-请参阅编辑。我认为更新语法是有效的,但您可能需要更改顺序MyTable T的含义是什么?我似乎无法理解它,也无法使它发挥作用。这是试图将对表的引用传递给变量T吗?这是伪代码。你们知道,你们需要输入真实的表名和字段名。