博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用top构造Sql Server分页查询
阅读量:7003 次
发布时间:2019-06-27

本文共 955 字,大约阅读时间需要 3 分钟。

使用分页查询是SQL数据库最常见的操作之一,下面将为您介绍两种利用top构造Sql Server分页查询的方法,供您参考。

Sql Server中,假设一个查询sql为querySql,该sql为任意条件的组合,我们把它当作子查询结果表,可利用Sql Server的top来构造通用Sql Server分页查询:

  1. if (pageInfo.getPageNum() == 1) {     
  2.       pagenatedSql = "select top " + pageInfo.pageSize + " * from (" + sql + ") as t1 " ;     
  3. }     
  4. else {     
  5.       pagenatedSql = "select top " + pageInfo.pageSize + " * from (" + sql + ") as t1 " +     
  6.             " where (t1." + indexKey + " > (select max(t3." + indexKey + ")" +      
  7.             " from (select top " + (pageInfo.pageNum - 1) * pageInfo.pageSize + " t2." + indexKey + " from (" + sql + ") as t2 order by t2." + indexKey + ") as t3" +     
  8.             " )) order by t1." + indexKey;     
  9. }   

其中pageInfo.getPageNum()为当前页号(从1开始);pageInfo.getPageSize()为每页行数;indexKey为表中索引列,通常为递增的主键。

第二种方式: pagesize: 每页显示记录数 cureentpage:当前页数

  1. select * from (   select TOP pagesize * FROM ( SELECT TOP pagesize*cureentpage   * from user_table   ORDER BY id ASC ) as aSysTable   ORDER BY id DESC ) as bSysTable   ORDER BY id ASC   

以上就是利用top构造Sql Server分页查询的方法。

转载地址:http://pwytl.baihongyu.com/

你可能感兴趣的文章
Entity Framework Code First数据库连接
查看>>
ZABBIX_PROXy
查看>>
centos6.5 eclipse C/C++开发环境
查看>>
redhat 7.2更新yum源时踩的坑
查看>>
C# 本质论 第一章 C#概述
查看>>
git-搭建企业git服务器
查看>>
PDF文档过期时间/自毁设置
查看>>
Principal Component Analysis(PCA) algorithm summary
查看>>
HTTP 02 HTTP1.1 协议
查看>>
手机端网页web开发要点
查看>>
Eclipse开发工具的使用之-使用Eclipse的Debug调试Android程序
查看>>
小弟浅谈asp.net页面生成周期---下
查看>>
正则表达式中 group groups区别
查看>>
JBoss + EJB3 + MySql : 开发第一个EJB
查看>>
浏览器请求阻塞到底是怎么回事?我们为什么要把静态资源分服务器放置?
查看>>
Oracle数据库基础知识
查看>>
2011年9月最新整理的10个有趣的jQuery插件集合
查看>>
Python的日志配置和处理
查看>>
小程序设置全屏显示
查看>>
c++ bind的简单使用 实例
查看>>