?
? ?问题记录:
?
? ?1.order by ?row_id失效?
?
? ?
-- 创建表 BEGIN TRANSACTION GO CREATE TABLE [dbo].[table_01] ( [id] int NOT NULL , [name] nvarchar(1000) NULL , [addr] nvarchar(1000) NULL ) ON [PRIMARY] GO EXECUTE sp_addextendedproperty N‘MS_Description‘, N‘‘, N‘SCHEMA‘, N‘dbo‘, N‘TABLE‘, N‘table_01‘, NULL, NULL GO ALTER 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) GO COMMIT -- 里层数据排序成功,到外层包一层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
?
原文:http://labreeze.iteye.com/blog/2192630