SqlServer 序号列的实现方法

网络整理 - 08-24

对于 SQL SERVER 2000 及更早的版本,需要使用一个自增列,结合临时表来实现。

复制代码 代码如下:


SELECT [AUTOID] = IDENTITY(int,1,1), * INTO #temp_table FROM 表名;



复制代码 代码如下:


SELECT * FROM #temp_table;


从 SQL SERVER 2005 开始, SQL SERVER 提供了一个 ROW_NUMBER() 函数,大大简化了工作。

复制代码 代码如下:


SELECT *,ROW_NUMBER() OVER (ORDER BY 排序字段) AS [AUTOID] FROM 表名;


序号字段的别名,可以在后续的条件中使用。