admin

带有增量整数列的MSSQL Select语句-不是来自表

sql

如果可能,我需要一个t-sql查询,该查询从任意表中返回值,并且还返回一个增量整数列,其中第一行的值= 1,第二行的值为2,依此类推。

此列实际上不驻留在任何表中,并且必须严格地递增,因为ORDER BY子句可以对表的行进行排序,并且我希望递增的行始终处于完美的形状…

提前致谢。

--EDIT对不起,忘了提及,它必须在SQL Server 2000上运行


阅读 241

收藏
2021-05-10

共1个答案

admin

对于SQL 2005及更高版本

SELECT ROW_NUMBER() OVER( ORDER BY SomeColumn ) AS 'rownumber',*
    FROM YourTable

2000年,你需要做这样的事情

SELECT IDENTITY(INT, 1,1) AS Rank ,VALUE
INTO #Ranks FROM YourTable WHERE 1=0

INSERT INTO #Ranks
SELECT SomeColumn  FROM YourTable
ORDER BY SomeColumn

SELECT * FROM #Ranks
Order By Ranks

另请参阅此处 行号

2021-05-10