首页 新闻 会员 周边

对SQLServer中有主键的表tb,写出效率较高的翻到第二页的sql查询语句()

0
悬赏园豆:10 [待解决问题]

一个.NET面试题

hackcoco的主页 hackcoco | 初学一级 | 园豆:190
提问于:2011-03-14 16:46
< >
分享
所有回答(2)
0

declare @pageSize int      --返回一夜的记录数

declare @CurPage int   --页号(第几页)

declare @Count int

declare @id int

set @pageSize=10
set @CurPage =1

--定位
if @CurPage = -1
begin
 --最后一页
 set rowcount @pageSize
 select @id=newsID from newsTemp   order by newsID
end

if @CurPage > 0
begin
 set @Count = @pageSize * (@CurPage -1) + 1
 set rowcount @Count
 select @id=newsID from newsTemp   order by newsID desc
end

--返回记录
set rowcount @pageSize
select * from newsTemp where newsID <=@id order by newsID desc

set rowcount 0

小w威 | 园豆:37 (初学一级) | 2011-03-14 17:02
0
小胆粗心 | 园豆:300 (菜鸟二级) | 2011-03-15 16:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册