基于sqlserver的四种分页方式总结

 更新时间:2017年12月07日 09:07:17   作者:凤小九  
下面小编就为大家分享一篇基于sqlserver的四种分页方式总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

第一种:ROW_NUMBER() OVER()方式

select * from (
    select *, ROW_NUMBER() OVER(Order by ArtistId ) AS RowId from ArtistModels
  ) as b

where RowId between 10 and 20

---where RowId BETWEEN 当前页数-1*条数 and 页数*条数---     

执行结果是:

第二种方式:offset fetch next方式(SQL2012以上的版本才支持:推荐使用 )

select * from ArtistModels  order by ArtistId offset 4 rows fetch next 5 rows only
                  --order by ArtistId offset 页数 rows fetch next 条数 rows only ----

执行结果是:

第三种方式:--top not in方式 (适应于数据库2012以下的版本)

select top 3 * from ArtistModels
where ArtistId not in (select top 15 ArtistId from ArtistModels)

------where Id not in (select top 条数*页数  ArtistId  from ArtistModels)  

执行结果:

第四种方式:用存储过程的方式进行分页  

CREATE procedure page_Demo
@tablename varchar(20),
@pageSize int,
@page int
AS
declare @newspage int,
@res varchar(100)
begin
set @newspage=@pageSize*(@page - 1)
set @res='select * from ' +@tablename+ ' order by ArtistId offset '+CAST(@newspage as varchar(10)) +' rows fetch next '+ CAST(@pageSize as varchar(10)) +' rows only'
exec(@res)
end
EXEC page_Demo @tablename='ArtistModels',@pageSize=3,@page=5

执行结果:

ps:今天搞了一下午的分页,通过上网查资料和自己的实验,总结了四种分页方式供大家参考,有问题大家一起交流学习。

相关文章

  • SQL Server数据库设置自动备份策略的完整步骤

    SQL Server数据库设置自动备份策略的完整步骤

    这篇文章主要给大家介绍了关于SQL Server数据库设置自动备份策略的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用sql server具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • SQL Server空闲连接查询对比与分析

    SQL Server空闲连接查询对比与分析

    在 SQL Server 中,释放空连接(也称为空闲连接)是一个重要的操作,特别是在高并发环境中,以确保数据库资源得到有效利用并避免连接泄漏,故本文介绍了SQL Server 空闲连接查询对比与分析,需要的朋友可以参考下
    2024-08-08
  • SQL对冗余数据的删除重复记录只保留单条的说明

    SQL对冗余数据的删除重复记录只保留单条的说明

    本文讲一下数据库中通常存在一些冗余数据,如重复记录就是一种,那这样的记录如何删除呢?
    2010-03-03
  • SQL Server中判断和处理NULL值的多种方法和解决方案

    SQL Server中判断和处理NULL值的多种方法和解决方案

    在SQL Server数据库中,NULL是表示缺少数据或未知值的特殊标记,处理NULL值是SQL开发人员经常遇到的问题之一,本文将介绍SQL Server中判断和处理NULL值的不同方法,以及一些解决方案,帮助您更好地处理数据库中的NULL值情况,需要的朋友可以参考下
    2024-01-01
  • SQL Server使用SELECT INTO实现表备份的代码示例

    SQL Server使用SELECT INTO实现表备份的代码示例

    在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在 SQL Server 中,可以使用 SELECT INTO 语句将数据从一个表备份到另一个表,本文通过代码示例介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • SQLServer中MERGE语句的使用

    SQLServer中MERGE语句的使用

    MERGE语句用于根据两个表之间的条件来插入、更新或删除记录,本文主要介绍了SQLServer中MERGE语句的使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • insert into tbl() select * from tb2中加入多个条件

    insert into tbl() select * from tb2中加入多个条件

    insert into tbl() select * from tb2中加入多个条件
    2009-06-06
  • 清除SQLServer日志的两种方法

    清除SQLServer日志的两种方法

    清除SQLServer日志的两种方法...
    2007-01-01
  • 如何有效防止sql注入的方法

    如何有效防止sql注入的方法

    SQL注入攻击是黑客对数据库进行攻击常用的手段之一,本文主要介绍了如何如何有效防止sql注入,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • SQL SERVER 2000安装教程图文详解

    SQL SERVER 2000安装教程图文详解

    本篇文章介绍了安装SQL Server 2000各版本的软硬件配置要求,企业版安装过程的详细步骤,以及需要注意的事项。其他版本可以参考安装
    2013-05-05

最新评论