消除 SQL 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]
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.
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]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用带有标识列的临时表来模拟 ROW_NUMBER 可能是性能方面的最佳选择:
Using a temp table with an identity column to simulate the ROW_NUMBER may be your best bet performance wise:
不太确定,但这是一个起点:
Not too sure, but here's a starting-point:
您可以创建一个变量表,为“ROWID”提供 INT Identity 值并将这些值插入其中。
您也可以在不使用 ROWID 的情况下执行此操作。不过表演不会太好...
You can make a variable table giving the "ROWID" an INT Identity value and inserting the values into that.
You can also do while w/o using the ROWID. The performance wouldn't be great though...