`
maziheng
  • 浏览: 58191 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Oracle中查询非连续的NO号

阅读更多
1、创建表并插入数据
create table lag_use(no number);
insert into lag_use values (1);
insert into lag_use values (2);
insert into lag_use values (3);
insert into lag_use values (5);
insert into lag_use values (6);
insert into lag_use values (8);
insert into lag_use values (12);
insert into lag_use values (13);
insert into lag_use values (25);
insert into lag_use values (36);

2、查询其中不连续的NO号
 
SELECT * FROM
(SELECT  LAG(NO, 1) OVER(ORDER BY NO) + 1 AS START_NO, NO - 1
  FROM LAG_USE) NB
WHERE NB.NO <> NB.START_NO;  
 
或者
with tmp as(
select rownum r from dual connect by level <= (select max(no) from lag_use))
select min(r), max(r) from(
select no,r,sum(decode(no,null,0,1)) over(order by r) v
  from tmp a,lag_use b
         where a.r = b.no(+))
 where no is null
 group by v;
分享到:
评论

相关推荐

    oracle分页查询并返回总记录数据存储过程

    本文将详细介绍如何在 Oracle 中创建一个用于分页查询并返回总记录数的存储过程。 #### 核心概念 1. **存储过程**:存储在数据库中的可编程对象,可以接受参数、执行操作、返回结果。 2. **分页**:通过限制查询...

    Java使用Jdbc连接Oracle执行简单查询操作示例

    Java使用Jdbc连接Oracle执行简单查询操作示例 Java使用Jdbc连接Oracle执行简单查询操作,是指使用Java语言通过Jdbc(Java Database Connectivity)连接Oracle数据库并执行简单查询操作的过程。本文将通过实例形式...

    Oracle查询用户锁表

    Oracle 查询用户锁表是指在 Oracle 数据库中查询当前用户锁定的表,以便诊断和解决锁表问题。本文档将详细介绍如何查询用户锁表,并提供相关的代码。 一、查询用户锁表的必要性 在 Oracle 数据库中,锁表是指用户...

    ORACLE NO_DATA_FOUND的三种处理办法

    在Oracle数据库中,`NO_DATA_FOUND`异常是当你执行一个SQL查询时,没有找到匹配的记录时抛出的。这个异常通常与PL/SQL编程有关,因为SQL查询在PL/SQL块(如游标、存储过程或函数)中运行。在处理`NO_DATA_FOUND`异常...

    Oracle中利用哈希函数提高查询速度

    在Oracle数据库系统中,哈希函数的应用是一种优化查询性能的有效策略,特别是在处理大规模数据时。哈希函数的主要目的是通过计算键值的哈希值来均匀地分散数据,从而减少查询时需要扫描的簇块数量,进而提升查询效率...

    oracle查询效率调优实例

    ### Oracle 查询效率调优实例详解 在处理大量数据时,Oracle 数据库的查询性能往往成为系统瓶颈之一。本文将结合具体实例,介绍如何通过优化 SQL 语句来提高查询效率。 #### 一、Leading 提示与 Use_NL 提示 在...

    一个选查询后插入到一个临时表的oracle函数

    本文将详细解析一个特定的Oracle函数——`NS_DNAF_GetPaidUpDeposit`,该函数旨在执行查询操作,并将结果插入到一个临时表中。通过分析该函数的结构、参数以及执行逻辑,我们可以更好地理解其工作原理及其应用场景。...

    Oracle查询指定表的所有字段名和数据类型SQL

    ### Oracle查询指定表的所有字段名和数据类型SQL ...总之,通过上述SQL查询语句,我们可以高效地获取Oracle数据库中指定表的所有字段名和数据类型信息,这对于数据库管理和开发工作来说具有重要的意义。

    Oracle分页查询(很不错的介绍)

    本篇文章将详细介绍Oracle中的分页查询,并提供一种常用的分页查询语句格式和一个存储过程的示例。 首先,理解Oracle分页查询的基本结构。通常,Oracle的分页查询采用嵌套查询的方式实现。以下是一个典型的分页查询...

    提高Oracle中SQL的执行效率

    在SELECT子句中使用星号(*)表示选取所有列,但Oracle在解析过程中需要查询数据字典来确定具体的列名列表,这会导致额外的开销。因此,明确指定所需的列可以显著提高查询性能。 #### 4. 减少访问数据库的次数 每...

    Oracle万能查询语句

    在Oracle数据库中,查询语句是数据检索的核心工具。本文将详细介绍一个复杂的Oracle查询语句,该语句涉及多个表的连接、序列、存储过程以及多表查询等相关知识点。通过本示例,读者可以深入了解如何在实际业务场景中...

    Oracle Exception汇总(自定义Oracle异常)

    9. **INVALID_NUMBER** (ORA-01722): 当尝试将非数字字符串转换为数字时,如果转换失败,Oracle会抛出此异常。在处理数据时,需要验证输入的格式是否正确。 10. **LOGGIN_DENIED** (ORA-01017): 提供的用户名和密码...

    Oracle中EXECUTE IMMEDIATE用法

    在Oracle数据库中,`EXECUTE IMMEDIATE`是一个非常强大的特性,允许在运行时动态执行SQL语句或PL/SQL块。这一功能自Oracle 8i版本的DBMS_SQL包引入以来,极大地增强了PL/SQL的灵活性和动态性。通过`EXECUTE ...

    ModuleNotFoundError: No module named &#039;cx-Oracle&#039;

    在Python编程环境中,"ModuleNotFoundError: No module named 'cx_Oracle'"是一个常见的错误提示,意味着在尝试导入cx_Oracle模块时遇到了问题。cx_Oracle是Python的一个第三方库,专门用于与Oracle数据库进行交互,...

    centos-6 64位安装 oracle xe

    在本文中,我们将详细探讨如何在CentOS 6 64位系统上安装Oracle 11g Express Edition (XE)。Oracle XE是一款轻量级的数据库管理系统,适合开发和测试环境,它提供了与标准版Oracle数据库类似的功能,但资源消耗更低...

    【Oracle】树状结构查询

    在Oracle数据库中,进行树状结构查询是一种常见且强大的功能,尤其当数据具有层次或层级关系时,如组织架构、产品分类、文件系统等。本文将深入探讨如何在Oracle中执行树状结构查询,理解其背后的逻辑,以及如何利用...

    Oracle 中HINT的使用

    Oracle中的HINT是一种非常强大的工具,它允许数据库管理员和开发人员通过在SQL语句中添加特定的指令来指导Oracle查询优化器如何执行查询。这些HINTs提供了对默认查询优化过程的控制,可以帮助解决复杂的查询性能问题...

    利用ORACLE实现数据的抽样

    然而,Oracle数据库本身并未直接提供系统抽样的功能,因此需要结合SQL查询与外部编程逻辑来实现。 #### 3. 整群抽样 整群抽样是将总体划分成若干群体,然后从这些群体中随机抽取一部分作为样本。在Oracle中,可以先...

    oracle子查询PPT课件.ppt

    Oracle子查询是指在SQL语句中嵌套使用SELECT语句,以解决复杂的查询问题。下面是Oracle子查询的知识点总结: 一、子查询的定义和类型 * 子查询是一个完整的SELECT语句,嵌套在另一个SELECT语句中。 * 子查询可以...

Global site tag (gtag.js) - Google Analytics