转载(详解oracle分页查询的基础原理)

oracle中使用分页标签如何实现真分页 NULL 博文链接:https://shanke0101-163-com.iteye.com/blog/1201220 立即下载

原文地址

本文从数据查询原理,以及分页实现的方法详细分析了oracle分页查询的基础知识,以下是本文内容:

一

oracle默认为每个表生成rowmun,rowid字段,这些字段我们称之为伪列
1 创建测试表

CREATE TABLE TEST(
ID NUMBER,
NAME VARCHAR2(20)
)

2 插入测试数据

INSERT INTO TEST VALUES (1,'张三');
INSERT INTO TEST VALUES (2,'李四');
INSERT INTO TEST VALUES (3,'王五');
INSERT INTO TEST VALUES (4,'赵六');
INSERT INTO TEST VALUES (5,'郑七');
INSERT INTO TEST VALUES (6,'胡八');
INSERT INTO TEST VALUES (7,'刘九');

3 查看表字段,证实自带的字段

select rowid,rownum,id,name from TEST; 

4 rowid一般用不到,Oracle内部用来存储行的物理位置,和分页相关的就是rownum,也就是行号
二

1 查询小于5的行,查询出四条结果

select rowid,rownum,id,name from test where rownum <5;

在这里插入图片描述
2 查询大于2小于5的行

select rownum,id,name from test where rownum>2 and rownum <5;

发现什么也没查出来,什么原因呢?,

rownum有如下特点:

1 ROWNUM只适用于小于或小于等于,如果进行等于判断,那么只能等于1;

2 ROWNUM是oracle系统顺序分配的行的编号,返回的第一行分配的是1,第二行是2,依此类推;

3 ROWNUM总是从1开始

4 第一条数据行号为1,不符合>2的条件,则第一行被去掉,之前的第二行变为新的第一行,如此下去,一直到最后一行,条件始终没法满足,所以就一条数据也查不出来。
在这里插入图片描述
3 正确写法:因为>用不了,将行号用内层查询查询出来当做一个结果集,在外层用内层结果集进行比较即可

select rownum,id,name from
( select rownum rn, u.* from test u where rownum<5) un
where un.rn>2

在这里插入图片描述
4 如果进行分页的话,比如每页三行,要查询第二页,则相当于查4,5,6条,起始行4= (页码-1)每页长度+1,结束行6=页码每页长度

select rownum,id,name from (
  select rownum rn , t.* from test t where rownum <=6) n
where n.rn>=4

在这里插入图片描述
5 同样的可以把4中查询改为最常见的三层结构

 select rownum,id,name from (
  select rownum rn, n.* from 
    (
     select * from test --最内层循环该怎么写怎么写
    ) n where rownum <=6 --小于限制写在第二层
  ) 
 where rn>=4    
WRF移动嵌套结合伏羲模型与CFD(PALM)高精度多尺度降尺度分析研究 WRF移动嵌套(Moving Nesting):动态调整高分辨率嵌套网格位置,追踪天气系统(如台风、强对流系统)以提高局地预报精度。伏羲(Fuxi)模型:国产数值模式,提供对WRF模拟的初始及边界条件优化。CFD(Computational Fluid Dynamics)PALM模型:精细化局地流场、湍流、温度分布。 阅读详情

相关推荐

AI应用架构师实战:高等教育智能课程推荐系统开发

性能:选课季并发量达1000QPS,推荐响应时间≤500ms(否则学生不耐烦)。数据隐私:符合《教育数据安全管理规范》,学生姓名、学号等敏感信息需匿名化存储。可扩展性:支持新增课程类型(如MOOC、实践课)、新增数据源(如竞赛获奖记录)。教育AI要“以教为中心”:不能纯技术驱动,要和教育工作者深度合作(如教师参与定义课程的前置关系)。数据是核心:数据质量决定推荐效果,要重视数据治理和隐私保护。持续迭代:教育需求是动态的(如每年新增课程、学生目标变化),要定期收集用户反馈,更新模型和策略。张三。

AI大模型应用之禅 1351

Oracle分页查询(效率分析与原理)

rownum是Oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且 rownum 不能以任何表的名称作为前缀。

我认不到你的博客 2083

别再手动算临界转速了!用ANSYS Workbench 2023 R2快速搞定转子坎贝尔图(附完整APDL命令流)

本文详细介绍了如何利用ANSYS Workbench 2023 R2快速生成转子坎贝尔图,实现全自动临界转速分析。通过对比传统手动计算与Workbench自动化流程的效率差异,展示了其在旋转机械设计中的革命性优势,包括大幅缩短分析周期、提升精度至98.7%。文章还提供了完整的APDL命令流和实战案例,帮助工程师快速掌握这一高效工具。

weixin_42699679的博客 473

oracle分页查询原理

分页的原理: 1.借助ORACLE的rownum这个字段的特性查询。 2. 查询前N条数据 3.从第2步的查询结果中取M到N条数据 4.在web开发中将M,N作为参数进行传递,就可以得到分页的结果。 例子: 查询表中20~30条记录,sql语句如下。 select *

JAVA领域优质创作者,基于分片网络查询方法专利发明者。 1373

手把手教你低成本复刻大疆C板缓启动电路(附原理图与选型清单)

本文详细介绍了如何低成本复刻大疆C板缓启动电路,包括核心器件选型、电路搭建与调试实战、参数优化方法论及进阶改进思路。通过替代型号和优化设计,实现功能相近的缓启动电路,成本不到原方案的1/3,适合电子爱好者、在校学生和预算紧张的硬件工程师。

weixin_29197051的博客 397

NXP(imx8qxp)系列DDR校准以及android镜像烧录

文章目录一、 不得不吐槽以下nxp的这个代码镜像烧写的过程,做得太开源了,导致镜像根本烧录不进去,实属令人头痛。 一、

永不秃头的程序员的博客 5992

深入解析Oracle数据库中的分页查询原理及应用实战案例

ROWNUM是一个Oracle内建的伪列,它会为每个查询返回的行分配一个从1开始的连续行号。然而,由于ROWNUM是在Oracle处理查询结果的过程中逐行分配的,并且在满足WHERE子句过滤条件之后才进行分配,所以直接对ROWNUM进行条件判断可能无法达到预期的分页效果,尤其是在涉及到排序和多个表连接时。在Oracle数据库中执行分页查询,尤其是大规模数据检索时,需要高效且精确地定位所需数据范围。的表,我们要查询第3页的数据,每页大小为10行,按照。指定从何处开始提取行(即跳过的行数),

专注于数据库技术分享,包含但不限于Oracle,MySQL,PostgreSQL,ElasticSearch及国产数据库等 1069

Android编译系统——Android.bp语法介绍(十五)

Android.bp 是 Android 构建系统(Android Build System)中的配置文件,用于描述如何编译和打包项目中的模块。它是用 Blueprint 编写的,其语法类似于 JSON,但专为 Android 编译系统设计,提供了更高效、灵活的模块化管理。

小旭的专栏 939

oracle——列表分页查询(原理)

oracle 分页sql语句分析与测试

专注写bug 1239

Simulink进行无人机飞行力学建模与仿真

摘要:本文详细介绍了使用MATLAB/Simulink进行四旋翼无人机飞行力学建模与仿真的步骤。内容包括准备工作、动力学方程概述、模型构建(使用State-Space或Simscape Multibody)、可选控制器设计、仿真参数配置及结果分析。教程强调理解飞行力学原理和坐标系转换的重要性,建议根据需求选择模型复杂度,并推荐查阅学术文献获取更深入的建模方法。通过本教程,读者可掌握无人机动力学建模基础,为控制系统开发和性能优化奠定基础。

amy_mhd的博客 274

ARFoundation系列讲解 - 24 锚点

一、添加平面检测和平面可视化 请参考 ARFounnation快速入门-08平面检测 案例 二、添加射线检测 1.在AR Session Origin 组件上添加ARRaycastManager 脚本

a451319296的博客 4881

Oracle 分页原理

oracle rownum 及分页处理的使用方法 在实际应用中我们经常碰到这样的问题,比如一张表比较大,我们只要其中的查看其中的前几条数据,或者对分页处理数据。在这些情况下我们都需要用到rownum。因此我们要理解rownum的原理和使用方法。 Oracle原理 Oracle的rownum经常使用的符号有(<、&lt...

a944145054的博客 1380

【硬件的单元测试 UT 3】PCIe 3.0及信号完整性测试方法

PCIe标准自从推出以来,1代和2代标准已经在PC和Server上逐渐普及,用于满足高速显卡、高速存储设备对于高速数据传输的要求。出于支持更高总线数据吞吐率的目的,PCI-SIG组织在2010年制定了PCIe 3.0,即PCIe 3代的规范,数据速率达到8Gbps。

qq_43416206的博客 1416

Oracle中的SQL分页查询原理和方法详解

转载请注明出处:http://blog.youkuaiyun.com/anxpp/article/details/51534006,谢谢!     本文分析并介绍Oracle中的分页查找的方法。     Oracle中的表,除了我们建表时设计的各个字段,其实还有两个字段(此处只介绍2个),分别是ROWID(行标示符)和ROWNUM(行号),即使我们使用DESCRIBE命令查看表的结构,也是看不到这

anxpp的博客 5万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

分页查询原理oracle,Oracle中的SQL分页查询原理和方法详解

转载请注明出处:http://blog.youkuaiyun.com/anxpp/article/details/51534006,谢谢!本文分析并介绍Oracle中的分页查找的方法。Oracle中的表,除我们建表时设计的各个字段,其实还有两个字段(此处只介绍2个),分别是ROWID(行标示符)和ROWNUM(行号),即便我们使用DESCRIBE命令查看表的结构,也是看不到这两个列的描写的,由于,他们实际上是...

weixin_39700063的博客 306

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Oracle中rownum机制原理&用法详解

1. 概述rownum是Oracle引入的虚列。 在物理上这个虚列并不存在,只是在查询时才构造出来。伪列通常是自由分配的,用户无法执行修改等操作。 2. 特点关于rownum有以下主要特点: 1)rownum不属于任何表。2)rownum存在的前提,先有结果表。3)rownum总是从1开始。4)rownum一般只和<(<=)一起用。5)使用rownum进行分页查询需要把r...

weixin_38170829的博客 291

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

MySQL、Oracle和SQL Server的分页查询语句

  假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql、Oracle和SQL Server分页查询student表。 1、Mysql的分页查询:  1 SELECT 2 * 3 FROM 4 student 5 LIMIT (PageNo - 1) * PageSize,PageSize; 理解:(Limit n,m) ...

anchichun6550的博客 227

Oracle中的SQL分页查询原理和方法详解 (转)

转载请注明出处:http://blog.youkuaiyun.com/anxpp/article/details/51534006,谢谢!     本文分析并介绍Oracle中的分页查找的方法。     Oracle中的表,除了我们建表时设计的各个字段,其实还有两个字段(此处只介绍2个),分别是ROWID(行标示符)和ROWNUM(行号),即使我们使用DESCRIBE命令查看表的结构,也是看不到这

tom和cat的博客 369

oracle分页查询原理浅析

原因一 oracle默认为每个表生成rowmun,rowid字段,这些字段我们称之为伪列 1 创建测试表 CREATE TABLE TEST( ID NUMBER, NAME VARCHAR2(20) ) 2 插入测试数据 INSERT INTO TEST VALUES (1,'张三'); INSERT INTO TEST VALUES (2,'李四'); INSER...

weixin_30764137的博客 72

oracle 伪列原理,Oracle 伪列(ROWNUM)机制

1. 概述rownum是Oracle引入的虚列。在物理上这个虚列并不存在,只是在查询时才构造出来。伪列通常是自由分配的,用户无法执行修改等操作。2. 特点关于rownum有以下主要特点:1)rownum不属于任何表。2)rownum存在的前提,先有结果表。3)rownum总是从1开始。4)rownum一般只和5)使用rownum进行分页查询需要把rownum转化为实列,并针对rownum查询。2....

weixin_39954487的博客 248

oracle分页查询

oracle分页查询。 查询第6条到第10条数据: rownum相当于系统给分配的一列。 图中第二种方式效率更高一些。 转载于:https://www.cnblogs.com/qitian1/p/6461816.html...

weixin_30810239的博客 72

Oracle分页查询语句

Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。 分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21 其中最内层的查询SELECT * FROM ...

weixin_30340745的博客 109

oracle数据库分页原理

Oracle数据库的rownum 在Oracle数据库中,分页方式没有MySql这样简单,它需要依靠rownum来实现.Rownum表示一条记录的行号,值得注意的是它在获取每一行后才赋予.因此,想指定rownum的区间来取得分页数据在一层查询语句中是无法做到的,要分页还要进行一次查询. SELECT * FROM(SELECT A.*, ROWNUM RNFROM (SELECT...

273
上一篇: JPA的分页查询
下一篇: springdataJPA_JPA_orm_hibernate
CaculateByte
博客等级 码龄9年 7粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值