如果可能,我需要一个t-sql查询,该查询从任意表中返回值,并且还返回一个增量整数列,其中第一行的值= 1,第二行的值为2,依此类推。
此列实际上不驻留在任何表中,并且必须严格地递增,因为ORDER BY子句可以对表的行进行排序,并且我希望递增的行始终处于完美的形状…
提前致谢。
--EDIT对不起,忘了提及,它必须在SQL Server 2000上运行
对于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
另请参阅此处 行号