消除 SQL 2000 的 ROW_NUMBER() [英] Eliminating ROW_NUMBER() for SQL 2000
本文介绍了消除 SQL 2000 的 ROW_NUMBER()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我必须迁移一个 sql 才能在 Microsoft SQL Server 2000 上工作.不幸的是,当前的 sql 使用了该版本尚不支持的 ROW_NUMBER() 函数.因此我必须找到类似的东西.
I have to migrate a sql to work on Microsoft SQL Server 2000. Unfortunately the current sql uses the function ROW_NUMBER() which is not yet supported in this version. Therefore I have to find something similar.
在我的 SQL 下面(我使用 * 而不是列出所有列)
Below my SQL (I used * instead of listing all columns)
SELECT [Id], ROW_NUMBER() OVER (ORDER BY InstallmentNumber, ID ASC) AS ROWID
FROM [ARAS].[ARAS].[Movement]
推荐答案
使用带有标识列的临时表来模拟 ROW_NUMBER 可能是您最好的选择:
Using a temp table with an identity column to simulate the ROW_NUMBER may be your best bet performance wise:
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 2000 的 ROW_NUMBER()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文