`

sql server分页的一种写法

阅读更多

sql server分页的一种写法

根据一位网友写的SQL加以记录:

 

select top pageSize * from 表名

 

 where id not in

 (

   select top (pageNo-1)*pageSize id from 表名

)

 

pageSize:每页记录数

pageNo: 第几页 

 

举例:假如 每页要显示 5条  要显示第三页

        也就是 pageSize= 5
                  pageNo=3

 

 (pageNo-1)*pageSize = (3-1)*5 = 2*5 

  这的意思就是得到前两页

not in (............)
就是不显示前两页

 

从前两页的数据 往后 显示 pageSize 条数据

 

综上所述SQL为:pageNo =3  pageSize=5
                        (pageNo-1)*pageSize= 2*5=10

 

select top 5 * from 表名 where id not in(select top 10 id from 表名)

 

 

还有一种类似于这样的写法:

 

select top pageSize * from 表名

 

 where id not in

 (

   select top pageNo*pageSize id from 表名 order by id asc   // 即先升序排好,取出包含那页的所有数据,

order by id desc  //然后再倒序排好,再取前面几条记录即可

 

总的来说:即先升序排好,取出包含那页的所有数据,然后再倒序排好,再取前面几条记录即可(做到取到了想要的那一页)

分享到:
评论

相关推荐

    sqlserver分页的两种写法分别介绍

    在SQL Server 2005之前,或者不支持窗口函数的版本中,一种常用的分页方法是通过子查询和`NOT IN`或`NOT EXISTS`来实现。以下是一个使用存储过程的例子: ```sql CREATE PROC p_paged1 @pageSize INT, @current...

    sql分页查询几种写法

    SQL分页查询是数据库操作中常见的一种需求,特别是在大数据量的场景下,为了提高用户体验,通常需要对查询结果进行分页展示。SQL Server虽然在处理分页查询方面相对其他数据库系统较弱,但仍然提供了多种实现方式。...

    数据库分页3种写法

    第二种方法利用了 SQL Server 的 `ROW_NUMBER()` 函数来实现分页。这种方法通过为所有记录添加一个行号,然后根据行号来选取特定范围内的数据。 **示例代码**: ```sql create proc proc_SelectPages @pageSize int...

    SqlServer常用的几种分页查询SQL语句介绍、对比以及在.Net下的使用

    前言  在实际开发过程中,当数据量比较多的时候,大量的数据一下子展示到页面上是非常不可取的。所以我们通常要进行分页(这里的分页是指真分页),而不是前端JS...一、三种分页SQL语句的介绍和写法  示例数据库的字段:  

    Sql语法转换为Oracle语法

    Delphi是一种流行的面向对象的编程语言,常用于开发桌面应用程序,尤其是数据库相关的应用。这个单元文件很可能是整个程序的主体部分,负责接收SQL Server的SQL语句,解析并转换成Oracle兼容的语法。 以下是具体的...

    jsp+Servlet+JavaBean分页的两种写法

    Servlet使用Java Persistence API (JPA) 或者 JDBC 连接到数据库,执行SQL查询,通常是一个带有LIMIT和OFFSET子句的SELECT语句,LIMIT用于指定每页的记录数,OFFSET用于跳过前几条记录,达到分页效果。 3. **...

    SQL2005 高效分页sql语句

    2. **同样使用ROW_NUMBER()的另一种写法** 第二种方法稍有不同,但基本原理相同: ```sql SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNum, id, username FROM Guest WHERE username ...

    asp最快的分页写法

    标题提到的"asp最快的分页写法",意味着这是一种优化过的分页实现,它在处理大数据集时表现出更好的性能。接下来,我们将深入探讨ASP分页的关键知识点,并结合提供的文件名来解析这个快速分页方法可能的实现方式。 ...

    sqlserver优化[借鉴].pdf

    1. **执行计划**:执行计划是SQL Server根据SQL语句和表的统计信息自动生成的一种查询策略,它决定了数据如何被访问和处理。执行计划的正确性依赖于SQL语句的清晰性和最新的统计信息。SQL语句的细微差异(如大小写、...

    sql server创建临时表的两种写法和删除临时表

    在SQL Server中,临时表是数据库管理中一种非常实用的工具,它用于存储临时数据,通常在执行复杂的查询或者处理大型数据集时使用。临时表有两种类型:本地临时表(以单个#开头)和全局临时表(以两个##开头)。在本...

    SQL查询前10条记录(SqlServermysqloracle)语法分析.docx

    本文将详细解析SQL Server、MySQL和Oracle这三种常用数据库系统中查询前10条记录的语法。 首先,对于SQL Server,我们可以使用`TOP`关键字来获取指定数量的记录。基础的查询前10条记录的语句如下: ```sql SELECT ...

    drbrain.zip

    1. **语法**:两者在SQL语句的写法上有所不同,例如MySQL支持`LIMIT`进行分页查询,而SQL Server使用`TOP`和`ORDER BY`结合实现。 2. **性能**:MySQL在读取操作上表现出色,而SQL Server在事务处理和并发控制上有...

    Query Data With C#

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows应用程序、Web应用程序以及游戏开发等领域。"Query Data With C#"这个主题聚焦于如何利用C#进行数据查询,这是一个核心的编程技能,尤其是在处理数据库...

    于海涛的asp.net视频代码

    ASP.NET是由微软开发的一种服务器端Web应用程序框架,用于构建动态网站、Web应用和Web服务。它基于.NET Framework,提供了丰富的功能和工具,使得开发者可以使用C#或VB.NET等语言轻松创建高性能的Web应用。在这个...

    tp5.1 框架数据库高级查询技巧实例总结

    快捷查询提供了一种简化多字段查询条件的方法。通过使用`|`和`&`符号,可以方便地实现OR和AND逻辑操作。例如,`where('name|title','like','thinkphp%')`会查询`name`或`title`包含`thinkphp%`的数据。而`where('...

    《雅奇MIS》大师版学习笔记

    解析表达式是一种重要的技术手段,在MIS系统中被广泛应用于动态生成报表。例如,根据不同的条件调用不同的报表。下面是一个具体的例子: ```plaintext 如果((数据源6.代码>=1) && (数据源6.代码), 解析表达式('报表...

Global site tag (gtag.js) - Google Analytics