利用top构造Sql Server分页查询
创始人
2024-07-13 16:30:15
0

使用Sql Server分页查询是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分页查询的方法。

 

 

【编辑推荐】

sql server分页的两种方法比较

SQL SERVER分区视图

SQL中的分析函数

创建SQL函数的实例

SQL中返回计算表达式的函数

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...