sql数据分页怎么查询(SQL数据分页查询的方法)
类别:数据库 浏览量:2278
时间:2022-01-26 01:32:39 sql数据分页怎么查询
SQL数据分页查询的方法最近学习了一下SQL的分页查询,总结了以下几种方法。
首先建立了一个表,随意插入的一些测试数据,表结构和数据如下图:
现在假设我们要做的是每页5条数据,而现在我们要取第三页的数据。(数据太少,就每页5条了)
方法一:
select top 5 * from [StuDB].[dbo].[ScoreInfo] where [SID] not in (select top 10 [SID] from [StuDB].[dbo].[ScoreInfo] order by [SID]) order by [SID]
结果:
此方法是先取出前10条的SID(前两页),排除前10条数据的SID,然后在剩下的数据里面取出前5条数据。
缺点就是它会遍历表中所有数据两次,数据量大时性能不好。
方法二:
select top 5 * from [StuDB].[dbo].[ScoreInfo] where [SID]> (select MAX(t.[SID]) from (select top 10 [SID] from [StuDB].[dbo].[ScoreInfo] order by [SID]) t ) order by [SID]
结果:
此方法是先取出前10条数据的SID,然后取出SID的最大值,再从数据里面取出 大于 前10条SID的最大值 的前5条数据。
缺点是性能比较差,和方法一大同小异。
方法三:
select * from (select *,ROW_NUMBER() over(order by [SID]) ROW_ID from [StuDB].[dbo].[ScoreInfo]) t where t.[SID] between (5*(3-1)+1) and 5*3
结果:
此方法的特点就是使用 ROW_NUMBER() 函数,这个方法性能比前两种方法要好,只会遍历一次所有的数据。适用于Sql Server 2000之后的版本(不含)。
方法四:
select * from [StuDB].[dbo].[ScoreInfo] order by [SID] offset 5*2 rows fetch next 5 rows only
结果:
此方法适用于Sql Server 2008之后的版本(不含)。
offset 10 rows fetch next 5 rows only 这句代码我的理解是:跳过前面10条数据(前2页)从下一条开始取5条数据。
个人感觉这个方法比使用 ROW_NUMBER() 函数的方法要好(从代码方面来看,代码也少很多),至于性能方面没有做过测试,就不说了。
不过,最后两种方法的性能肯定是远超前面两种方法的,具体的还是看实用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- mysql中json的支持(MySQL中json字段的操作方法)
- plsql提示developer(PL/SQL Developer过期的两种解决方法)
- idea向数据库中插入中文报错(Idea连接MySQL数据库出现中文乱码的问题)
- sqlserver连接服务器怎么解决(Sql server端口未打开连接不上的解决方案)
- 如何在mysql中批量插入数据(MySQL如何快速批量插入1000w条数据)
- sqlserver栏位说明(SQL Server重置IDENTITY属性种子值操作)
- mysql数据库调优技术大全(Mysql数据库性能优化三分表、增量备份、还原)
- sql根据条件查出两条一样的数据(SQL中遇到多条相同内容只取一条的最简单实现方法)
- mysql 索引使用总结(MySQL复合索引的深入探究)
- mysql哪个版本可以下载msi(新手必备之MySQL msi版本下载安装图文详细教程)
- SQL处理字符串的函数
- mysql各种类型设置(MySQL sql_mode的使用详解)
- sqlsever查看视图数据类型(SQL Sever查询语句大全集锦)
- mysql经典问题(MySQL null的一些易错点)
- mysql中的默认mysql数据库作用(MySQL安装后默认自带数据库的作用详解)
- sqlserver数据库备份怎么还原(SQL Server2012数据库备份和还原的教程)
- 靳东领衔打造高精职场 新丽出品《精英律师》曝定妆照(靳东领衔打造高精职场)
- 靳东新剧《精英律师》定档,众星云集,这剧可追(靳东新剧精英律师定档)
- 精英律师 廖佳敏封印恋情曝光,顾婕马失前蹄 你个老不死的(廖佳敏封印恋情曝光)
- 以家人之名广受好评,剧情生动引起观众共鸣,演员张新成圈粉无数(以家人之名广受好评)
- 三兄妹感情再遇波折,人设接连崩塌 《以家人之名》剧情猜不透(三兄妹感情再遇波折)
- 《小敏家》金波想要复婚 这只是他圈套的第1步,更可恶的在后面(小敏家金波想要复婚)
热门推荐
- react事件绑定的方式和区别(react合成事件与原生事件的相关理解)
- VS中项目生成顺序
- css3特性动画图(CSS3轻松实现清新 Loading 效果的简单实例)
- php函数使用教程讲解学习交流(浅谈PHP中的Trait使用方法)
- sqlserver备份还原数据(通过Windows批处理命令执行SQL Server数据库备份)
- js图片水印库(js给图片打马赛克的方法示例)
- python静态方法和类方法的区别(Python实例方法、类方法、静态方法的区别与作用详解)
- dedecms搜索功能怎么设置详细(织梦Dedecms软件频道下载次数真实显示的权宜修改)
- 阿里云网站cdn加速(阿里云CDN刷新链接接口实践)
- 网站提高服务器响应(网站解决和优化Server is too busy的一些方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9