?
? ?问题记录:
?
? ?1.order by ?row_id失效?
?
? ?
-- 创建表BEGIN TRANSACTIONGOCREATE TABLE [dbo].[table_01]( [id] int NOT NULL , [name] nvarchar(1000) NULL , [addr] nvarchar(1000) NULL )ON [PRIMARY]GOEXECUTE sp_addextendedproperty N'MS_Description', N'', N'SCHEMA', N'dbo', N'TABLE', N'table_01', NULL, NULLGOALTER TABLE [dbo].[table_01] ADD CONSTRAINT [PK_table_01] PRIMARY KEY CLUSTERED ([id])WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)GOCOMMIT-- 里层数据排序成功,到外层包一层row_id失效了select * from ( select top 100 percent ROW_NUMBER() over (order by GETDATE() ) as row_id , * from [test].[dbo].[table_01] where [id] > 1 order by [id] desc ) as t where t.row_id > 0 and t.row_id <=500 -- 分页order by 失效select * from ( select top 100 percent ROW_NUMBER() over ( order by GETDATE() ) as row_id , t1.* from ( select * from [test].[dbo].[table_01] ) as t1 order by t1.id desc ) as t2 where t2.row_id > 0 and t2.row_id <= 500
?