当前位置: 代码迷 >> SQL >> SQLServer之分页有关问题
  详细解决方案

SQLServer之分页有关问题

热度:18   发布时间:2016-05-05 10:41:50.0
SQLServer之分页问题

?

? ?问题记录:

?

? ?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 										

?

1 楼 hbyk3344 1 小时前  
子句中from 后面的order by 是无效的
  相关解决方案