`
zhanyingle_1981
  • 浏览: 326362 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 分析函数实验之窗口

阅读更多

窗口函数实验

create table window_tmp(
 aa number(5) NOT NULL);
 
 insert into window_tmp values(1);
 insert into window_tmp values(2);
 insert into window_tmp values(2);
 insert into window_tmp values(2);
 insert into window_tmp values(3);
 insert into window_tmp values(4);
 insert into window_tmp values(5);
 insert into window_tmp values(6);
 insert into window_tmp values(7);
 insert into window_tmp values(9);
 insert into window_tmp values(11);
 
 
 select * from window_tmp;
 
 -- 序号  aa值
rownum  AA
1 1
2 2
3 2
4 2
5 3
6 4
7 5
8 6
9 7
10 9
11 11
 -- 排序后
 select sum(aa) over (order by aa range between 1 preceding and 2 following) from window_tmp;

rownum AA SUM(AA)OVER(ORDERBYAARANGEBETW
1 1 10
2 2 14
3 2 14
4 2 14
5 3 18
6 4 18
7 5 22
8 6 18
9 7 22
10 9 20
11 11 11


1. 帮助理解:
就是说,对于aa=5的一行 ,sum为   5-1<=aa<=5+2 的和, 所以求的是4,5,6,7的和=22
   对于aa=2来说 ,求的是2-1<=aa<=2+2, 即1,2,2,2,3,4的和=10
   又如 对于aa=9 ,9-1<=aa<=9+2 有9和11两个数,所以sum=20
   对于aa=11, 11-1<=aa<=11+2,只有11,所以sum=11


2. 其它:
     over(order by salary rows between 2 preceding and 4 following)
          每行对应的数据窗口是之前2行,之后4行
3. 下面三条语句等效:          
     over(order by salary rows between unbounded preceding and unbounded following)
          每行对应的数据窗口是从第一行到最后一行,等效:
     over(order by salary range between unbounded preceding and unbounded following)
           等效
     over(partition by null)

分享到:
评论

相关推荐

    Oracle专题培训.docx

    3. 窗口实验:通过设置窗口范围,可以在特定的行集合上应用分析函数,比如计算移动平均或差异。 4. 分类:分析函数分为排序窗口函数(如RANK, DENSE_RANK, ROW_NUMBER)和分组窗口函数(如SUM, AVG, MIN, MAX, ...

    oracle企业级培训ppt

    还会讲解如何使用索引提升查询性能,以及分析函数(如LEAD、LAG、FIRST_VALUE、LAST_VALUE)的应用。 除了理论知识,这份培训资料还包含上机指导和实验习题,帮助学习者通过实践巩固所学内容。通过这些实验,可以...

    Oracle专题培训.doc

    Oracle专题培训涵盖了数据库系统中的多个重要知识点,主要讨论了并行执行、分析函数、直接路径插入、物化视图、聚合函数扩展、DBMS_SQL、DBMS_SCHEDULER、层次查询和自治事务。以下是对这些主题的详细阐述: 一、...

    oracle9i讲课课件包括实验\oracle课件\上课\005-7高级查询技术

    10. **窗口函数**:Oracle 9i引入了窗口函数,如RANK()、DENSE_RANK()、ROW_NUMBER()以及LEAD()和LAG(),它们在每个分组内计算值,而不是在整个结果集上,极大地增强了分析功能。 以上这些内容构成了Oracle 9i中...

    框架窗口举例与实验

    1. **AWT概述**:AWT是由Sun Microsystems(现已被Oracle收购)开发的一个图形用户界面工具包,它是Java最早的GUI工具包之一。AWT提供了创建窗口、按钮、菜单等基本GUI组件的方法。 2. **组件与容器**:在Java AWT...

    PLSQL Developer使用实验

    通过对PL/SQL Developer 的安装、登录、使用等环节的详细介绍,我们可以看到这款工具的强大之处。无论是简单的SQL查询还是复杂的数据库对象管理,PL/SQL Developer 都能提供便捷的操作方式和高效的处理能力。对于...

    oracle从入门到精通学习资料

    Oracle还提供了一些高级SQL特性,如分组函数(COUNT, SUM, AVG等)和窗口函数,这些对于数据分析和报表生成非常有用。 PL/SQL的学习则涵盖了变量声明、流程控制语句(IF, CASE, LOOP等)、异常处理和游标。PL/SQL...

    Oracle详细讲解 多图

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它提供了强大的数据存储、管理和处理功能。本课程将深入讲解Oracle的各项关键知识点,包括但不限于安装配置、SQL语言的使用、数据库架构、安全管理...

    Oracle:该仓库用来保存Oracle实验

    2. **SQL语言**:实验可能涵盖基本的SQL查询、DML(插入、更新、删除)操作,以及更高级的联接、子查询、窗口函数等。 3. **PL/SQL编程**:Oracle的PL/SQL是其强大的过程化语言,用于编写存储过程、函数、触发器等...

    Oracle10g示例代码

    3. **SQL查询**:掌握SELECT语句是Oracle 10g的基础,包括简单的选择、投影、连接、分组和排序,以及更高级的子查询、联接和窗口函数。示例代码将演示如何查询单表或多表的数据,以及如何使用聚合函数(COUNT、SUM、...

    Oracle初学者的入门心得.doc

    了解SQL的基础语法和高级特性,如联接、子查询、聚合函数和窗口函数,能够让你在实际工作中更加得心应手。 在Oracle中,你需要了解以下几个关键点: 1. **Oracle体系结构**:Oracle数据库由多个物理组件构成,如...

    oracle培训教程

    5. 高级查询技巧:学习窗口函数、集合运算符(UNION、INTERSECT、EXCEPT)以及游标的应用。 四、Oracle安全管理 1. 用户与角色:创建和管理用户,理解权限和角色的概念,如何授权和撤销权限。 2. 视图和行级安全性...

    完整LIS系统(PB源码+ORAClE数据库).rar

    在本压缩包中,包含的是一个完整的LIS系统的PowerBuilder(PB)源码以及可能与之配套的Oracle数据库相关文件。 PowerBuilder(PB)是一种强大的客户端/服务器应用开发工具,特别是对于数据库应用程序。它使用可视化...

    企业级数据库实验指导

    ### 企业级数据库实验指导知识点解析 #### 一、Oracle安装及基本命令 **1.1 Oracle简介** Oracle是一款由美国甲骨文公司开发的关系型数据库管理系统,它提供了全面的数据管理解决方案,支持多种操作系统,包括...

    pb做的学生管理系统数据库实验

    在这个实验中,学生管理系统的核心部分是数据库,可能采用了关系型数据库管理系统(RDBMS),如MySQL、SQL Server或Oracle。数据库用于存储和管理学生的基本信息和家庭信息,包括但不限于姓名、学号、性别、出生...

    华科powerbuild实验内容-学生信息管理系统

    1. 数据窗口组件:PowerBuilder的数据窗口组件是核心功能之一,用于展示和操作数据库中的数据。在学生信息管理系统中,数据窗口可以用来创建表格、图表等形式,展示学生信息、成绩等数据。 2. 用户界面设计:Power...

    数据库高级培训资料(sqlserver、oracle)

    "SQL Code"部分则可能包含了大量的示例代码,用于演示如何执行各种数据库操作,比如创建数据库、表,插入、更新和查询数据,以及复杂的聚合和窗口函数的使用。"建立测试数据的过程"将指导用户如何为测试和实验环境...

    pb.rar_PowerBuilder_pb DES64.d_实验室设备管理系统_设备_设备管理系统

    DES64.d可能是用于加密或解密数据的一个函数或过程,因为DES(Data Encryption Standard)是一种常见的对称加密算法,常用于保护敏感信息。 【实验室设备管理系统】 这是一个针对实验室设备进行管理的信息系统,它...

    子查询课程实验

    - 在Oracle等数据库系统中,可以使用窗口函数(如ROW_NUMBER(), RANK(), DENSE_RANK()等)在子查询中进行分析操作,提供排序和分组后的聚合计算。 8. 优化子查询性能: - 使用索引来提高子查询的执行效率。 - ...

Global site tag (gtag.js) - Google Analytics