消除 SQL 2000 的 ROW_NUMBER() [英] Eliminating ROW_NUMBER() for SQL 2000

查看:45
本文介绍了消除 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆