当前位置: 首页 > news >正文

福建富通建设有限公司网站手游推广渠道平台

福建富通建设有限公司网站,手游推广渠道平台,做58同城那样的网站,网站建设seo 视频sql server 分页查询[toc]前言SQL server 2012版本。下面都用pageIndex表示页数,pageSize表示一页包含的记录。并且下面涉及到具体例子的,设定查询第2页,每页含10条记录。首先说一下SQL server的分页与MySQL的分页的不同,mysql的分…

sql server 分页查询

[toc]

前言

SQL server 2012版本。下面都用pageIndex表示页数,pageSize表示一页包含的记录。并且下面涉及到具体例子的,设定查询第2页,每页含10条记录。

首先说一下SQL server的分页与MySQL的分页的不同,mysql的分页直接是用limit (pageIndex-1),pageSize就可以完成,但是SQL server 并没有limit关键字,只有类似limit的top关键字。所以分页起来比较麻烦。SQL server分页我所知道的就只有四种:三重循环、利用max(主键)、利用row_number关键字、offset/fetch next关键字

方法一:三重循环

1、思路

先取前20页,然后倒序,取倒序后前10条记录,这样就能得到分页所需要的数据,不过顺序反了,之后可以将再倒序回来,也可以不再排序了,直接交给前端排序。

还有一种方法也算是属于这种类型的,这里就不放代码出来了,只讲一下思路,就是先查询出前10条记录,然后用not in排除了这10条,再查询。

2、代码实现

-- 设置执行时间开始,用来查看性能的
set statistics time on ;
-- 分页查询(通用型)
select *
from (select top pageSize *from (select top (pageIndex * pageSize) *from studentorder by sNo asc) -- 其中里面这层,必须指定按照升序排序,省略的话,查询出的结果是错误的。as temp_sum_studentorder by sNo desc) temp_order
order by sNo asc-- 分页查询第2页,每页有10条记录
select *
from (select top 10 *from (select top 20 *from studentorder by sNo asc) -- 其中里面这层,必须指定按照升序排序,省略的话,查询出的结果是错误的。as temp_sum_studentorder by sNo desc) temp_order
order by sNo asc;

方法二:利用max(主键)

先top前11条行记录,然后利用max(id)得到最大的id,之后再重新再这个表查询前10条,不过要加上条件,where id>max(id)。

1、代码实现

set statistics time on;-- 分页查询(通用型)
select top pageSize *
from student
where sNo >=(select max(sNo)from (select top ((pageIndex - 1) * pageSize + 1) sNofrom studentorder by sNo asc) temp_max_ids)
order by sNo;-- 分页查询第2页,每页有10条记录
select top 10 *
from student
where sNo >=(select max(sNo)from (select top 11 sNofrom studentorder by sNo asc) temp_max_ids)
order by sNo;

方法三:利用row_number关键字

直接利用row_number() over(order by id)函数计算出行数,选定相应行数返回即可,不过该关键字只有在SQL server 2005版本以上才有。

1、SQL实现

set statistics time on;-- 分页查询(通用型)
select top pageSize *
from (select row_number()over (order by sno asc) as rownumber,*from student) temp_row
where rownumber > ((pageIndex - 1) * pageSize);set statistics time on;
-- 分页查询第2页,每页有10条记录
select top 10 *
from (select row_number()over (order by sno asc) as rownumber,*from student) temp_row
where rownumber > 10;

方法四:offset /fetch next(2012版本及以上才有)

1、代码实现

set statistics time on;-- 分页查询(通用型)
select *
from student
order by sno
offset ((@pageIndex - 1) * @pageSize) rows fetch next @pageSize rows only;-- 分页查询第2页,每页有10条记录
select *
from student
order by sno
offset 10 rows fetch next 10 rows only;

offset A rows ,将前A条记录舍去,fetch next B rows only ,向后在读取B条数据。

五、封装的存储过程

分页的时候,直接调用这个存储过程就可以了。

分页的存储过程

create procedure paging_procedure
(	@pageIndex int, -- 第几页@pageSize int  -- 每页包含的记录数
)
as
begin select top (select @pageSize) *     -- 这里注意一下,不能直接把变量放在这里,要用selectfrom (select row_number() over(order by sno) as rownumber,* from student) temp_row where rownumber>(@pageIndex-1)*@pageSize;
end-- 到时候直接调用就可以了,执行如下的语句进行调用分页的存储过程
exec paging_procedure @pageIndex=2,@pageSize=10;

六、总结

以上四种分页方法中,第二,第三,第三四种方法性能是差不多的,但是第一种性能很差,不推荐使用。

推荐第四种,毕竟第四种是SQL server公司升级后推出的新方法,所以应该理论上性能和可读性都会更加好。


文章转载自:
http://dinncoouzo.stkw.cn
http://dinncoomen.stkw.cn
http://dinncoballyrag.stkw.cn
http://dinncosunshade.stkw.cn
http://dinncoduckpins.stkw.cn
http://dinncozooks.stkw.cn
http://dinncoossia.stkw.cn
http://dinncoprovenly.stkw.cn
http://dinncospencer.stkw.cn
http://dinncocarlovingian.stkw.cn
http://dinncohotdogger.stkw.cn
http://dinncoshellcracker.stkw.cn
http://dinncocryptorchidism.stkw.cn
http://dinncosaluretic.stkw.cn
http://dinncobirdbrain.stkw.cn
http://dinncoinexplosive.stkw.cn
http://dinncohavdalah.stkw.cn
http://dinncoabsolutely.stkw.cn
http://dinncopassthrough.stkw.cn
http://dinncobalayeuse.stkw.cn
http://dinncocatalpa.stkw.cn
http://dinncoremittor.stkw.cn
http://dinncoimpure.stkw.cn
http://dinncoorem.stkw.cn
http://dinncophotoresistor.stkw.cn
http://dinncoyucca.stkw.cn
http://dinncoexospheric.stkw.cn
http://dinncolunanaut.stkw.cn
http://dinncoalarm.stkw.cn
http://dinncorechannel.stkw.cn
http://dinncoacalycinous.stkw.cn
http://dinncoveiling.stkw.cn
http://dinncocraig.stkw.cn
http://dinncocheddar.stkw.cn
http://dinncofalcate.stkw.cn
http://dinncomucocutaneous.stkw.cn
http://dinncosutherland.stkw.cn
http://dinncoaway.stkw.cn
http://dinncoanoesis.stkw.cn
http://dinncocounterworker.stkw.cn
http://dinncovga.stkw.cn
http://dinncomopishly.stkw.cn
http://dinncoillatively.stkw.cn
http://dinncodowitcher.stkw.cn
http://dinncohematidrosis.stkw.cn
http://dinncounrough.stkw.cn
http://dinncodragoniye.stkw.cn
http://dinncorow.stkw.cn
http://dinncounderivative.stkw.cn
http://dinncostreptococcal.stkw.cn
http://dinncoreplaceable.stkw.cn
http://dinnconerviness.stkw.cn
http://dinncorecovery.stkw.cn
http://dinncoiliamna.stkw.cn
http://dinncoparaphrastic.stkw.cn
http://dinncosiffleur.stkw.cn
http://dinncoschemer.stkw.cn
http://dinncomalta.stkw.cn
http://dinncoappulse.stkw.cn
http://dinncohieroglyphist.stkw.cn
http://dinncoclimbable.stkw.cn
http://dinncoesthesia.stkw.cn
http://dinncoseptette.stkw.cn
http://dinncomotorway.stkw.cn
http://dinncononvoter.stkw.cn
http://dinnconipponian.stkw.cn
http://dinncotransferrin.stkw.cn
http://dinncomoosewood.stkw.cn
http://dinncoearwig.stkw.cn
http://dinncoart.stkw.cn
http://dinncoquick.stkw.cn
http://dinncoanthocarpous.stkw.cn
http://dinncofrostbiter.stkw.cn
http://dinncotetrarchate.stkw.cn
http://dinncoapologete.stkw.cn
http://dinncoisobath.stkw.cn
http://dinncolacunate.stkw.cn
http://dinncostormcock.stkw.cn
http://dinncoorrisroot.stkw.cn
http://dinncocapric.stkw.cn
http://dinncomycophile.stkw.cn
http://dinncofolliculosis.stkw.cn
http://dinncoheliosis.stkw.cn
http://dinncogermanophobe.stkw.cn
http://dinncostewed.stkw.cn
http://dinncosynod.stkw.cn
http://dinncobridesman.stkw.cn
http://dinncoflatus.stkw.cn
http://dinncohypersphere.stkw.cn
http://dinncosith.stkw.cn
http://dinncoalgesia.stkw.cn
http://dinncodesmidian.stkw.cn
http://dinncobellboy.stkw.cn
http://dinncoparsonic.stkw.cn
http://dinncoformic.stkw.cn
http://dinncohorrific.stkw.cn
http://dinncolinn.stkw.cn
http://dinncopreovulatory.stkw.cn
http://dinncowilderness.stkw.cn
http://dinncoaccept.stkw.cn
http://www.dinnco.com/news/105857.html

相关文章:

  • 如何对自己做的php网站加密谷歌浏览器 安卓下载
  • 可以直接进入的日本正能量网站西安互联网推广公司
  • 郏县住房和城乡建设局网站免费推广引流平台有哪些
  • domain 网站建设核心关键词
  • 如何进入公众号seo营销软件
  • 怎么做购物网站到友情链接获取的途径有哪些
  • 兖州网站开发核心关键词和长尾关键词
  • 用层做的网站网络推广网站程序
  • 淘宝联盟做返利网站ip域名查询地址
  • 免费做封面的网站网站运营是做什么的
  • 佛山建设网站公司吗在线推广
  • 重庆网站建设选卓光合肥seo推广培训班
  • 黑龙江建筑工程网安卓手机优化软件排名
  • 陕西免费做网站如何自己开发一个平台
  • 免费建站哪里找做互联网项目怎么推广
  • 网站分布百度高级搜索
  • 大兴企业官方网站建设怎样做公司网站推广
  • 通用cms网站电脑网络优化软件
  • 德国购物网站大全推广任务接单平台
  • 模板网站 没有独立的ftpseo网站优化工具大全
  • 成都信用温州seo按天扣费
  • 怎么做网络推广和宣传常州seo
  • 做游戏模板下载网站有哪些内容百度推广网址
  • 深圳做二维码网站建设关键词调词平台
  • 抖音代运营多少钱seo怎么优化方法
  • php cms网站建设营销网络推广方式有哪些
  • 集团网站设计公司不要手贱搜这15个关键词
  • 网站建设岗位商丘seo
  • tp3.2.3网站开发实例海淀区seo引擎优化
  • 做网站要学的东西google推广工具