Oracle修炼路程--分页查询

Oracle数据库中很实用的分页查询代码 分页查询是Oracle数据库比较重要的一个知识点!希望这个对你有参照作用。 立即下载

一 TOP-N问题

--取出工资最高的5五名员工信息;
--第一步:首选对员工信息按照sal进行降序;
SQL> select *from emp order by sal desc;

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      7839 KING       PRESIDENT            17-11月-81           7000                    10
      7566 JONES      MANAGER         7839 02-4月 -81           4575                    20
      7698 BLAKE      MANAGER         7839 01-5月 -81           4450                    30
      7782 CLARK      MANAGER         7839 09-6月 -81           4050                    10
      7788 SCOTT      ANALYST         7566 19-4月 -87           3400                    20
      7902 FORD       ANALYST         7566 03-12月-81           3400                    20
      7499 ALLEN      SALESMAN        7698 20-2月 -81           2000        300         30
      7844 TURNER     SALESMAN        7698 08-9月 -81           1900                    30
      7934 MILLER     CLERK           7782 23-1月 -82           1700                    10
      7654 MARTIN     SALESMAN        7698 28-9月 -81           1650       1400         40
      7521 WARD       SALESMAN        7698 22-2月 -81           1650        500         30
      7876 ADAMS      CLERK           7788 23-5月 -87           1500                    20
      7900 JAMES      CLERK           7698 03-12月-81           1350                    30
      7369 SMITH      CLERK           7902 17-12月-80           1200                    20

已选择14行。

--第二步:运用rownum,取出前五名最高工资的员工信息;
SQL> select rownum,t.* from (select *from emp order by sal desc) t where rownum<=5;

    ROWNUM      EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
         1       7839 KING       PRESIDENT            17-11月-81           7000                    10
         2       7566 JONES      MANAGER         7839 02-4月 -81           4575                    20
         3       7698 BLAKE      MANAGER         7839 01-5月 -81           4450                    30
         4       7782 CLARK      MANAGER         7839 09-6月 -81           4050                    10
         5       7788 SCOTT      ANALYST         7566 19-4月 -87           3400                    20

关于rownum有以下主要特点:

1)rownum不属于任何表。
2)rownum存在的前提,先有结果表。
3)rownum总是从1开始。
4)rownum一般只和<(<=)一起用。
5)使用rownum进行分页查询需要把rownum转化为实列,并针对rownum查询。

二、分页查询

--查询工资最高的第5--第10名员工信息;
SQL> select *from (select rownum as rn,t.* from (select *from emp order by sal desc) t where rownum<=10) e where e.rn>=5;

        RN      EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
         5       7788 SCOTT      ANALYST         7566 19-4月 -87           3400                    20
         6       7902 FORD       ANALYST         7566 03-12月-81           3400                    20
         7       7499 ALLEN      SALESMAN        7698 20-2月 -81           2000        300         30
         8       7844 TURNER     SALESMAN        7698 08-9月 -81           1900                    30
         9       7934 MILLER     CLERK           7782 23-1月 -82           1700                    10
        10       7521 WARD       SALESMAN        7698 22-2月 -81           1650        500         30

已选择6行。

基于simulink的多能源系统协同控制的复杂场景实例:氢燃料电池+锂电池混合动力电动汽车能量管理仿真 本文介绍了基于Simulink的氢燃料电池与锂电池混合动力电动汽车能量管理系统的建模与仿真方法。系统包含驾驶循环输入、氢燃料电池、锂电池、能量管理和电机驱动等模块,通过Simulink实现各模块的协同控制。文章详细说明了从模型创建到性能评估的完整流程,包括驾驶循环输入设置、燃料电池和锂电池子系统建模、能量管理策略设计等关键步骤。该仿真模型可验证不同工况下的系统响应和能量利用效率,为优化混合动力汽车的能量管理策略提供有效工具。通过引入更复杂的物理细节和环境因素,可进一步提升模型的实用性和准确性。 阅读详情

相关推荐

如何降低 Claude Code 封号风险:实用指南

本文针对 Claude Code 用户频繁遭遇账号封禁的问题,提供了一套经过实战验证的解决方案。通过分析封号的根本原因——共享VPN导致的IP异常标记,文章详细介绍了如何通过"独立服务器+中转服务+环境配置"三步走策略,显著降低封号风险。

goodparty的专栏 2146

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

oracle 分页sql语句分析与测试

专注写bug 1239

从EXIF到测绘:解码大疆影像元数据的实战应用指南

本文深入解析了大疆无人机影像元数据的实战价值,重点阐述了如何利用EXIF和XMP中的GPS、RTK、姿态角及相机内参等关键信息,提升测绘、三维重建及精准农业等项目的成果精度与效率。通过自动化质检脚本与行业应用场景剖析,指导从业者将元数据从信息转化为生产力,实现从拍照到专业测绘的跨越。

dell8的博客 528

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

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

我认不到你的博客 2083

YOLO环境配置+项目启动全流程(Conda+PyCharm超详解)

YOLO(You Only Look Once)是一个基于深度学习的目标检测算法,广泛应用于智能识别领域。本篇保姆级教学将手把手教你如何从零开始运行一个YOLO项目,适合完全没有基础的新手。

一键难忘的博客 1542

杰理SDK入门教程(六):自定义按键事件

这篇教程介绍了在杰理AC695N芯片上实现自定义按键功能的完整流程,包含三个核心步骤:首先在key_event_deal.h文件中添加按键枚举定义;然后在adkey_table.c配置按键映射表,按模式和行为类型设置按键值;最后在app_common.c的消息处理函数中添加自定义按键逻辑。教程强调需注意不同模式按键表的列定义差异,并提供了具体代码示例,最后指导完成编译测试验证。全文结构清晰,配有关键代码截图,适合开发者快速上手自定义按键功能开发。

qq_42014563的博客 1018

python3 查询oracle,对cx_Oracle进行封装,并使用

使用方法: (1)新建连接 dal = oracle() (2)执行sql语句 sql = f''' SELECT * FROM a1 ''' dal.exec(sql).commit() (3)获取查询的行 dal.rows # 元组结果 dal.lines # 字典结果 注:要手动commit() 一、基础使用 import datetime from b011 import * # dal = oracle() # 使用自定义配置 oracle_..

u013595395的博客 1606

计算机视觉学习路线图:从入门到专家

计算机视觉学习路线图:从入门到专家​ ,人工智能,计算机视觉,大模型,AI,计算机视觉学习路线图从七方面展开。先强调数学基础,含线性代数、概率统计和微积分;接着介绍 Python、OpenCV 等编程语言与工具;涵盖边缘检测、特征提取等经典算法;阐述深度学习中 CNN 结构、经典模型及实现;涉及目标检测、图像分割等高级专题;包含图像分类、目标检测和人脸识别等项目实战;最后提及科研进阶的论文阅读、项目参与和论文发表,助学习者从入门到专家。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 7万+

oracle简单查询之分页查询

oracle简单查询之分页查询 《PS:留下小赞赞,比心比心》 --oracle简单查询之分页查询 格式1(推荐) SELECT * FROM ( SELECT temp.*, ROWNUM RN FROM (SELECT * FROM 表名) temp WHERE ROWNUM <=end (page*pagesize) ) WHERE RN...

weixin_43280061的博客 291

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

jks212454的博客 627

【GameFramework框架内置模块】8、文件系统(File System)

最近好忙,鸽了好久。不能颓废了,继续发力。今天分享的是GF框架的文件系统。首先,引用比较官方的说法:GF的FileSystem虚拟文件系统,使用类似磁盘存储的感念对零散的文件进行集中管理,优化资源加载时产生的内存分配,也可以对资源进行局部片段加载,极大的提升了资源加载的性能。通俗点讲就是,我这个模块就是加载磁盘文件的,优化加载时产生的内存分配。那么,它是怎么优化的呢?

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2453

Oracle的分页查询

分页查询的基本格式如下:SELECT   *   FROM  ( SELECT  A. * , ROWNUM RN  FROM  ( 真正的查询 ) A  WHERE  ROWNUM  =   40 ) WHERE  RN  >=   21  其中最内层的真正的查询表示不进行翻页的原始查询语句。ROWNUM = 21控制分页查询的每页的范围。上面给出的这个分页查询语句,在大多数

退步原来是向前 3082

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Oracle分页查询和数据分析函数

Oracle是一种关系型数据库管理系统,提供了强大的分页查询和数据分析功能。分页查询用于获取数据库中的部分数据,常用于数据展示和分页显示。数据分析函数用于对查询结果进行统计和计算,常用于数据分析和报表生成。分页查询参数:n: 返回的行数start_num: 开始行号end_num: 结束行号数据分析函数参数:column_name: 需要统计或计算的列名column_name2: 需要统计或计算的列名2完整代码案例:--分页查询示例SELECTFROMtable_name。

互联网知识分享 510

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

oracle分页的方法,oracle分页

Oracle 的 oracle分页oracle的分页一共有三种方式方法一 根据rowid来分SELECT *FROM EMPWHERE ROWID IN(SELECT RIDFROM (SELECT ROWNUM RN, RIDFROM (SELECT ROWID RID, EMPNO FROM EMP ORDER BY EMPNO DESC)WHERE ROWNUM <= ( (curre...

weixin_36190910的博客 1669

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Oracle分页查询

Oracle分页查询 方法一 -- 40为pageCurrent * pageSize,31 应为为(pageCurrent - 1) * pageSize SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME WHERE 1 = 1 -- 条件 ORDER BY CREATETIME DESC -- 排序 ) A WHERE ROWNUM <= 40

blood_Z的博客 5万+

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

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

anxpp的博客 5万+

oracle分页查询

oracle分页查询 select * from ( select rownum rn , tt.* from ( select * from emp order by sal desc // 替换次语句即可 ) tt where rownum < 11 ) where rn > 5

学无止境 1853

oracle分页查询分析,ORACLE分页查询

常见的oracle分页查询实现方式有三种,分别是通过ROWNUM、ROWID、或分析函数实现,本文将以本人在项目中USER_INFO表的子表为例,简述三种分页的实现:-- Create tablecreate table USER_INFO(USER_ID NUMBER(12) not null,NAME VARCHAR2(30),PET_NAME VARCHAR...

weixin_42234804的博客 228

python链接oracle数据库以及数据库的增删改查

初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节。 1.首先,python链接oracle数据库需要配置好环境。我的相关环境如下: 1)python:Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on wi

夏的博客 2万+

怎么进行分页数据的查询,如何判断是否有下一页?

怎么进行分页数据的查询,如何判断是否有下一页? 1.背景介绍 在开发过程当中,接触比较多的有MySQL、SQLServer、Oracle这三种数据库,这三种数据库都有自己内部的方法可以进行分页查询,MySQL用的是limit进行分页查询,SQLServer用的是row_number函数、Oracle用的是ROWNUM、row_number(),今天主要讲的是MySQL数据库的。 为什么用到分...

qq_31552107的博客 2万+

Oracle修炼路程--查询习题

第一题 :查询所有员工的年工资、所在部门的名称,按年薪从低往高排序; SQL> select (sal*12+nvl(comm,0)) 年工资,d.dname 部门名称 from emp e,dept d where e.deptno=d.deptno order by 年工资 asc; 年工资 部门名称 ---------- -------------- 14400 R...

Python_Newer的博客 695
上一篇: Oracle修炼路程--伪列rowid及rownum
下一篇: Oracle修炼路程--六种约束
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值