2

我有一个正在使用的 SQL Server 2005 数据库。对于我正在使用的查询,我想添加一个自定义列,该列可以从任何数字开始并根据行条目号递增。

例如,我从数字 10 开始。结果中的每一行都有一个递增的数字 10、11、12 等。

这是我将使用的 SELECT 语句的示例。

int customVal = 10;

SELECT 
    ID, customVal++ 
FROM myTable

上面的格式显然是错误的,但它在概念上是我正在寻找的。

结果:

 ID     CustomColumn
 -------------------
 1         10
 2         11
 3         12
 4         13

我该如何实现这种功能?

我在结果中找不到任何关于递增变量的参考。是这样吗?

编辑:该customVal号码将从另一个表中提取。即可能对变量做一个Select声明。customVal您不能假设 ID 列将是任何可用的值。

CustomColumn将从 开始自动customVal递增。

4

1 回答 1

5

使用 ROW_NUMBER 排名函数 - http://technet.microsoft.com/en-us/library/ms186734.aspx

DECLARE @Offset INT = 9

SELECT
     ID
     , ROW_NUMBER() OVER (ORDER BY ID) + @Offset
FROM
    Table
于 2013-10-22T19:49:50.120 回答