我必须迁移一个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/