当前位置:  开发笔记 > 数据库 > 正文

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

如何解决《具有增量整数列的MSSQLSelect语句不是来自表》经验,为你挑选了1个好方法。

如果可能的话,我需要一个t-sql查询,它从任意表返回值,也返回一个增量整数列,第一行的值为1,第二行的值为2,依此类推.

这个列实际上并不存在于任何表中,并且必须是严格增量的,因为ORDER BY子句可以对表的行进行排序,并且我希望增量行始终处于完美形状...

提前致谢.

--EDIT抱歉,忘记提及,必须在SQL Server 2000上运行



1> SQLMenace..:

对于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

另见 行号


不要忘记放下临时表
推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有