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

最高级网站建设著名建筑网站

最高级网站建设,著名建筑网站,建设生活app官方下载,哪家网站设计比较好sql server 分页查询[toc]前言SQL server 2012版本。下面都用pageIndex表示页数#xff0c;pageSize表示一页包含的记录。并且下面涉及到具体例子的#xff0c;设定查询第2页#xff0c;每页含10条记录。首先说一下SQL server的分页与MySQL的分页的不同#xff0c;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条行记录然后利用maxid得到最大的id之后再重新再这个表查询前10条不过要加上条件where idmax(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 next2012版本及以上才有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 pageIndex2,pageSize10;六、总结以上四种分页方法中第二第三第三四种方法性能是差不多的但是第一种性能很差不推荐使用。推荐第四种毕竟第四种是SQL server公司升级后推出的新方法所以应该理论上性能和可读性都会更加好。
http://www.hkea.cn/news/14505005/

相关文章:

  • 精品课程网站开发平台网站建设课程思政
  • 单位网站查询工资链接怎么做福田时代汽车官方网站
  • 可以做免费推广的网站有哪些安卓开发软件安装教程
  • 学校网站建设方面汇报备案时网站名称怎么写
  • 建站seo怎么赚钱免费商城网站建设平台
  • 彭州做网站建设厅网站账户名忘记了怎么办
  • 房地产网站建设方案php学什么可以做网站
  • 网站永久镜像怎么做正能量erp软件下载网站
  • 问答系统网站模板网站界面ui设计国家开放大学答案
  • 网站301定向电脑建网站软件
  • jsp网站开发中js的问题php网站后台模版
  • 做直播网站用什么语言简单好看的logo图片
  • 网站的外部链接怎么做外贸网络营销实战
  • 南京移动网站建设效果好哪个网站做ppt
  • 基木鱼建站网站优化含义
  • 用vs2010做免费网站模板下载地址色无极网站正在建设中
  • 怎么修改网站源文件超能力联盟网站
  • 网站页面设计优化方案建设网站主机
  • 架设网站的目的微信开放平台是做什么的
  • 网站设计软件网站的注册上一步下一步怎么做
  • 大气腐蚀网站建设湛江seo建站
  • 安徽省住房与城乡建设部网站花店网站建设需求
  • 四川电子商务网站wordpress vul
  • 免费手机网站app湛江市工程建设领域网站
  • 湖南城乡和建设厅网站天元建设集团有限公司商业承兑汇票
  • 怎么才能自己做网站e福州app官方网站
  • 汉服网站怎么做天津网络关键词排名
  • 网站建设初学软件建筑施工单位网站
  • 省建设厅执业资格注册中心网站免费建设网站
  • 优化百度网站企业管理软件有哪些