SQL查询使用ID创建isDuplicate列

时间:2013-10-22 19:45:21

标签: sql sql-server-2005

我有一个我正在使用的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开始自动递增。

1 个答案:

答案 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