有没有办法从函数中选择并让它返回递增的数字?
例如,执行以下操作:
SELECT SomeColumn, IncrementingNumbersFunction() FROM SomeTable
Run Code Online (Sandbox Code Playgroud)
让它回归:
SomeColumn | IncrementingNumbers
--------------------------------
some text | 0
something | 1
foo | 2
Run Code Online (Sandbox Code Playgroud)
SQL*_*ace 11
在SQL Server 2005及更高版本上,您可以使用ROW_NUMBER()
SELECT SomeColumn,
ROW_NUMBER() OVER(Order by SomeColumn) as IncrementingNumbers
FROM SomeTable
Run Code Online (Sandbox Code Playgroud)
在SQL Server 2000中,您可以使用标识,但如果删除了,则会有间隙
SQL 2000代码,以防你的常规表中有一个带有标识列的空白,在带有标识的temp中插入,然后从中选择
SELECT SomeColumn,
IDENTITY( INT,1,1) AS IncrementingNumbers
INTO #temp
FROM SomeTable
ORDER BY SomeColumn
SELECT * FROM #temp
ORDER BY IncrementingNumbers
Run Code Online (Sandbox Code Playgroud)