首页 > 数据库 >oracle怎样分批查询

oracle怎样分批查询

时间:2023-10-21 13:31:43浏览次数:30  
标签:分页 分批 PAGE oracle ROWNUM 查询 your SIZE

在Oracle中,分批查询通常是通过使用"分页"的方式来实现的。可以使用ROWNUM伪列、OFFSET关键字和FETCH FIRST关键字来完成分页查询。

具体地,可以使用如下的SQL语句进行分页查询:

SELECT *
FROM (SELECT A.*, ROWNUM RN
      FROM (SELECT *
            FROM your_table
            WHERE your_conditions
            ORDER BY your_order_by) A
      WHERE ROWNUM <= :PAGE_SIZE * :PAGE_NUMBER)
WHERE RN > (:PAGE_NUMBER - 1) * :PAGE_SIZE;

上述SQL语句使用了三个参数::PAGE_NUMBER表示要查询的页码,:PAGE_SIZE表示每一页的记录数,而your_tableyour_conditions则代表您需要查询的表名和筛选条件。此外,您还可以使用your_order_by指定结果的排序方式。

该SQL语句中包含了一个内部查询子句,该子句首先将原始查询结果排序,并使用ROWNUM伪列给结果集中的每一行分配一个行号(即RN列)。接着,外部查询从排序后的结果集中选择一页的数据,FETCH FIRST关键字后面的表达式用于限制结果集中返回的记录数。同时,通过使用OFFSET关键字和:PAGE_NUMBER:PAGE_SIZE参数计算出要跳过的记录数,以此来确定结果集中要选择哪些行,从而实现了分页查询。

需要注意的是,在使用分页查询时,一定要根据具体情况调整每一页的记录数(即:PAGE_SIZE的值),以避免查询时间过长和返回大量数据。

标签:分页,分批,PAGE,oracle,ROWNUM,查询,your,SIZE
From: https://blog.51cto.com/u_16007699/7966741

相关文章

  • SQL语句的基本使用5-多值子查询
    SQL语句的基本使用5-多值子查询这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13074这个作业的目标SQL语句的基本使用5-多值子查询1.在student_info表中查找与“刘东阳”性......
  • SQL语句的基本使用5-多值子查询
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13074这个作业的目标SQL语句的基本使用5-多值子查询1.在student_info表中查找与“刘东阳”性别相同的所有学生的姓名、出生日......
  • Oracle数据库中文显示乱码
    问题sql脚本导入到Oracle数据库,中文数据显示乱码。原因本地环境没有配置数据库编码格式,需要跟服务器上数据库编码格式统一。解决方法1.查询数据库编码格式,使用Selectuserenv('language')fromdual语句查询数据库编码格式。2.在**系统环境变量**配置:N......
  • Java Stream流实现递归查询
    MySql数据库表结构模拟数据查询出所有数据,用父节点递归查询出所有子节点数据/***封装备注分类集合**@paramremarkTypeList备注分类集合*@return递归好的集合*/@OverridepublicList<RemarkType>queryRemarkTypeList(......
  • MySql Json字段部分查询语法
    模糊匹配jsonObject字段select*fromtableNamewherecolumnName->'$.xx'like'%xx%'精确匹配jsonObject类型字段select*fromtableNamewherecolumnName->'$.xx'='xx'模糊匹配jsonArray字段select*fromtableNamewh......
  • typeorm oracle 表大小写问题
    oracle对于表名的定义包含了是否包含双引号的问题,但是默认typeorm创建的是包含了双引号的,造成数据查询会有问题(typeorm自身没有问题,但是外部查询会有问题)解决方法自定义命名策略参考 classOracleNameStrategyextendstypeorm.DefaultNamingStrategy{......
  • Oracle 查询排名第几到第几行的数据(rownumber效率最高)
    查询排名第5到第10行的数据  实现效率最高,如果是在前端页面用循环选择,效率是很慢的。ROWNUM是Oracle加在查询数据集的伪字段,记录的是每一行的行号。--第三步查询需要的几行数据SELECTA.NAME,A.FW_TIMESTAMPFROM(--第二步加排序编号ROWNUMSELECTA.NAME,A.FW_TIMES......
  • Oracle集群升级迁移—主机网络设置及交换机侧bond vlan划分
    目录Oracle集群升级迁移—主机网络设置及交换机bondvlan划分网络规划操作系统层面的IP设置bond类型介绍设置bond1和bond0交换机侧的设置(省略)Oracle集群升级迁移—主机网络设置及交换机bondvlan划分网络规划按照工程师要求,配置了5个IP供集群使用。1个IP为ScanIP、2个IP为VIP......
  • Grafana监控OracleDB的完整过程
    背景两年前曾经写过一个进行Oracle监控的简单blog但是周天晚上尝试进行处理时发现很不完整了.很多数据获取不到.晚上又熬夜了好久进行处理.感觉还是需要总结一下,不然就忘记了获取镜像还是使用docker的方式来暴露Oracle的服务使用的镜像为:dockerpullghcr.io/iamseth/or......
  • eas_客户端查询提示过滤条件不完整或比较值过长请检查
    问题如图所示,这里票据号码是标准元数据字段,查看客户端dep,显示字段长度为30,这里实际测试,查询超过30位就会提示这个,这里需要修改2个元数据,复制并修改xxx.entity和xxx.table文件里的对应字段的长度,然后打包成私包,部署到server/lib/metas/sp的目录下,元数据的路径和原来保持一致 ......