1

我正在用 SQL 编写一个程序,但是每次我在 MSSMS 中执行该程序时,最左侧有一列包含行号。我想在同一个程序中使用的 while 语句中调用此列中的行号,但我不确定如何在代码中引用它。这个列叫什么,以便我可以调用它并获取行号?

4

2 回答 2

3

您所引用的列是由 SQL Server 生成的,实际上并不存在于您的结果集中。如果您的表中存在一个或多个列会生成该排序,那么您可以添加一个调用ROW_NUMBER以获取您正在查看的该列。例如:

SELECT *, ROW_NUMBER() OVER (ORDER BY some_col) rn
FROM yourTable
ORDER BY rn;
于 2019-02-18T13:55:19.070 回答
0

您可以使用添加自己的行号row_number()

select row_number() over (order by <order cols>) as seqnum,
       . . .
from t
order by <order cols>;

这些都在数据中,可以在后续处理中引用。

于 2019-02-18T13:55:06.557 回答