sql - 消除 SQL 2000 的 ROW_NUMBER()

标签 sql sql-server-2000 row-number

我必须迁移一个sql才能在Microsoft SQL Server 2000上工作。不幸的是,当前的sql使用该版本尚不支持的函数ROW_NUMBER()。因此我必须找到类似的东西。

在我的 SQL 下方(我使用 * 而不是列出所有列)

SELECT [Id], ROW_NUMBER() OVER (ORDER BY InstallmentNumber, ID ASC) AS ROWID
FROM [ARAS].[ARAS].[Movement]

最佳答案

使用带有标识列的临时表来模拟 ROW_NUMBER 可能是性能方面的最佳选择:

CREATE TABLE #tmpRowNum (
    ROWID INT IDENTITY(1,1),
    ID INT
)

INSERT INTO #tmpRowNum
    (ID)
    SELECT ID
        FROM [ARAS].[ARAS].[Movement]
        ORDER BY InstallmentNumber, ID

关于sql - 消除 SQL 2000 的 ROW_NUMBER(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5705855/

相关文章:

sql-server - 带有 SQL Server 的 postgresql

sql - 通过代码或 SQL 脚本加密 SQL 2000 中的列

sql - 如何在 T-SQL 中编写带有 row_number 的 WHERE 子句?

mysql - 如何使用 phpMyAdmin 和外键制作音乐库?

tsql - 为什么这个 SQL CAST 不起作用?

sql - SSIS 连接错误

sql - 如何在SQL Server 2012中添加行号列

sql - TSQL : Howto add a char to a select statement

sql - 通过 xml 路径连接字符串

asp.net - SQL MAX() 函数很慢,有没有更好的方法?