`

[Oracle]高效的SQL语句之分析函数(四)--lag()/lead()

阅读更多

有时候报表上面需要显示该笔操作的上一步骤或者下一步骤的详细信息,这个时候可以按照下面的做法:
先创建示例表:
-- Create table
create table LEAD_TABLE
(
  CASEID     VARCHAR2(10),
  STEPID     VARCHAR2(10),
  ACTIONDATE DATE
)
tablespace COLM_DATA
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
insert into LEAD_TABLE values('Case1','Step1',to_date('20070101','yyyy-mm-dd'));
insert into LEAD_TABLE values('Case1','Step2',to_date('20070102','yyyy-mm-dd'));
insert into LEAD_TABLE values('Case1','Step3',to_date('20070103','yyyy-mm-dd'));
insert into LEAD_TABLE values('Case1','Step4',to_date('20070104','yyyy-mm-dd'));
insert into LEAD_TABLE values('Case1','Step5',to_date('20070105','yyyy-mm-dd'));
insert into LEAD_TABLE values('Case1','Step4',to_date('20070106','yyyy-mm-dd'));
insert into LEAD_TABLE values('Case1','Step6',to_date('20070101','yyyy-mm-dd'));
insert into LEAD_TABLE values('Case1','Step1',to_date('20070201','yyyy-mm-dd'));
insert into LEAD_TABLE values('Case2','Step2',to_date('20070202','yyyy-mm-dd'));
insert into LEAD_TABLE values('Case2','Step3',to_date('20070203','yyyy-mm-dd'));
commit;
每一条记录都能连接到上/下一行的内容
select caseid,stepid,actiondate,lead(stepid) over (partition by caseid order by& ......

分享到:
评论

相关推荐

    Oracle经典SQL语句

    11. **窗口函数**:如ROW_NUMBER(), RANK(), DENSE_RANK(), LAG(), LEAD()等,提供了在数据行之间进行计算的能力,特别适用于排名、移动平均等分析。 12. **分区表**:在大型数据库中,通过分区可以提高查询性能,...

    转帖--oracle分析函数+PLSQL小结

    PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库内置的面向过程的编程语言,它结合了SQL语句和过程式编程语言的特点,用于编写存储过程、函数、触发器和游标等数据库对象,以实现更复杂的...

    Oracle的sql语句练习题及参考答案

    在“Oracle的SQL语句练习题及参考答案”中,我们很可能会遇到各种与`SELECT`语句相关的练习,这是SQL中最基础且最重要的部分。 `SELECT`语句用于从数据库中检索数据,其基本语法结构如下: ```sql SELECT column1,...

    Oracle分析函数实践 - blog.docx

    Oracle分析函数是数据库查询中非常强大的工具,它们用于处理复杂的报表和统计需求,特别是在在线分析处理(OLAP)环境中。分析函数与聚合函数的...在编写SQL时,合理运用分析函数,能够显著提升SQL语句的质量和性能。

    oracle 10G函数大全

    Oracle 10G是Oracle数据库的一个重要版本,其强大的功能和丰富的函数库使得数据库管理和开发更为高效。在Oracle 10G中,函数是SQL和PL/SQL编程中不可或缺的一部分,它们用于处理数据、进行计算、操作字符串以及执行...

    经典sql和oracle语句下载

    2. **SQL高级特性**:可能涵盖了窗口函数(如RANK, ROW_NUMBER, LAG, LEAD)用于复杂数据分析,以及GROUP BY和HAVING子句进行分组过滤。可能还包括了存储过程和触发器的创建与调用,以及视图(View)的使用。 3. **...

    oraclesql 学习资料

    Oracle SQL 是 Oracle 数据库的核心组成部分之一,它不仅支持标准 SQL 语法,还包含了许多高级功能和优化技巧。熟练掌握 Oracle SQL 可以帮助开发者更有效地管理和利用数据库资源。通过实践上述示例和技巧,您可以更...

    SQL 语句大全 SQL 语句大全

    学习并熟练掌握这些SQL语句将使你能够高效地操作和管理数据库,无论是在开发、数据分析还是数据库管理领域,SQL都是不可或缺的基础技能。通过"SQL 语句大全"文档,你可以深入理解并实践这些知识点,提升自己的数据库...

    ORACLE报表分析利剑——分析函数

    - **不一致性场景**:若两者排序条件不匹配,SQL语句中的`ORDER BY`将在分析函数完成后再执行,可能改变最终的展示顺序。 **1.2 分析函数的三大子句** 分析函数由三个关键子句组成:`PARTITION BY`(分组)、`...

    Oracle 分析函数.doc

    Oracle 分析函数是数据库查询中的强大工具,它们允许在单个SQL语句中对结果集进行复杂的计算和分组操作,极大地简化了数据分析的过程。在Oracle 8i版本之后引入,分析函数为处理大量数据提供了高效的方法,避免了...

    ORACLE_分析函数大全

    除了这些,Oracle分析函数还包括RANK、DENSE_RANK、ROW_NUMBER等排名函数,LEAD和LAG用于获取当前行之前或之后的值,FIRST_VALUE和LAST_VALUE则返回窗口内的第一个或最后一个值,以及NTILE用于将数据分桶等。...

    自己整理的Oracle常用高级语句.rar

    分析函数如ROW_NUMBER(), RANK(), DENSE_RANK(), LAG(), LEAD(), NTILE(), AVG() OVER()等,允许在查询中进行行级别的计算,如分组内的排名、累计和差异等复杂分析操作。 3. **110个常用函数**: Oracle提供了...

    oracle sql 内置函数大全

    此外,Oracle SQL还提供了一些高级函数,如聚合函数(如`SUM`, `AVG`, `COUNT`)和窗口函数(如`LEAD`, `LAG`, `RANK`),这些函数在数据分析和报表生成中非常有用。 在实际应用中,了解并熟练使用这些内置函数可以...

    Oracle官方SQL帮助手册

    7. 分析函数:Oracle提供了一系列分析函数,如RANK(), DENSE_RANK(), ROW_NUMBER(), LAG(), LEAD(), NTILE()等,这些函数在处理分组后的排序和计算时非常有用。 8. 视图:视图是虚拟表,可以简化复杂查询或提供安全...

    实用总结SQL语句大全实用总结SQL语句大全.rar

    例如,Oracle的分析函数(Analytic Functions)如`RANK()`、`ROW_NUMBER()`和`DENSE_RANK()`可用于对数据进行排名,`LAG()`和`LEAD()`获取行间数据,`FIRST_VALUE()`和`LAST_VALUE()`获取分组内第一行和最后一行的值...

    oracle分析函数

    Oracle分析函数是数据库管理系统Oracle中的一种高级SQL特性,自8.1.6版本引入,极大地扩展了SQL在数据处理和分析上的能力。分析函数的主要作用是进行聚合操作,但与传统的聚合函数(如SUM, COUNT, AVG等)不同,它们...

    SQL语句基础PPT

    6. **窗口函数**: 窗口函数在每个行上执行计算,同时考虑当前行及其前后行,如RANK()、ROW_NUMBER()、LEAD()、LAG()等。 7. **分区表**: 分区是将大表分成较小、更易管理的部分,提高查询速度和维护效率。 8. **...

    oracle函数及常用语句

    通过阅读《Oracle 9i 分析函数参考手册.doc》和《oracle函数及常用语句.ppt》,你可以更全面地了解这些概念,并在实际工作中灵活运用。对于初学者来说,这些资料是宝贵的参考资料,能够帮助快速掌握Oracle数据库的...

Global site tag (gtag.js) - Google Analytics