我有一个我正在使用的SQL Server 2005数据库。对于我正在使用的查询,我想添加一个自定义列,可以从任何数字开始,并根据行条目号递增。
例如,我从数字10开始。我的结果中的每一行都有一个递增的数字10,11,12等。
这是我将要使用的SELECT语句的一个示例。
int customVal = 10;
SELECT
ID, customVal++
FROM myTable
上述格式显然是错误的,但从概念上讲,它正是我所寻找的。 p>
结果:
ID CustomColumn
-------------------
1 10
2 11
3 12
4 13
如何实施此类功能?
我找不到任何在结果中递增变量的引用。是这种情况吗?
编辑:customVal
号将从另一张表中提取。即可能会在Select
变量中执行customVal
语句。您不能假设ID列将是任何可用的值。
CustomColumn
将从customVal
开始自动递增。
答案 0 :(得分: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