有没有办法从一个函数中选择并让它返回递增的数字?
例如,这样做:
SELECT SomeColumn, IncrementingNumbersFunction() FROM SomeTable
让它返回:
SomeColumn | IncrementingNumbers
--------------------------------
some text | 0
something | 1
foo | 2
最佳答案
在 sql server 2005 及更高版本上,您可以使用 ROW_NUMBER()
SELECT SomeColumn,
ROW_NUMBER() OVER(Order by SomeColumn) as IncrementingNumbers
FROM SomeTable
0n SQL Server 2000,你可以使用身份,但如果你有删除,你就会有差距
SQL 2000 代码,以防您在带有标识列的常规表中有间隙,插入到带有标识的临时表中,然后从中选择
SELECT SomeColumn,
IDENTITY( INT,1,1) AS IncrementingNumbers
INTO #temp
FROM SomeTable
ORDER BY SomeColumn
SELECT * FROM #temp
ORDER BY IncrementingNumbers
关于sql-server - 在 SQL Server 中生成递增数字的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3559294/