SqlServer 序号列的实现方法

941 查看

对于 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 表名;

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