--创建用于测试的表及数据 create table t603 ( code varchar2(10), year varchar2(10), month varchar2(10), p_id varchar2(7), v1 number(10), v2 number(10) ); comment on column t603.code is '工厂'; comment on column t603.year is '年份'; comment on column t603.month is '月份'; comment on column t603.p_id is '产品'; comment on column t603.v1 is '生产量'; comment on column t603.v2 is '销售量'; insert into t603 values('600001',2012,11,'30',1,1); insert into t603 values('600001',2012,11,'31',1,1); insert into t603 values('600001',2012,11,'10',2,2); insert into t603 values('600002',2012,12,'10',3,2); insert into t603 values('600002',2012,12,'31',2,1); insert into t603 values('600002',2012,12,'30',2,1); select * from t603;
--按自定义的规则聚合
select code, p_id, v1 from t603 where code in ('600001', '600002') model return updated rows --MODEL后面的RETURN UPDATED ROWS子句将结果限制为在该查询中创建或更新的那些行,使结果集只包含新计算的值。 partition by(code) --分区 dimension by(p_id) --维度 measures(v1) --度量 rules (v1['err1'] = v1['30'] + v1['31'] - v1['10']) --计算规则 order by code, p_id;
输出 CODEP_IDV1
1600001err10
2600002err11
--按多个规则聚合,返回包括非聚合行
select code, year, p_id, month, v1 from t603 where year = '2012' model partition by (code,year) dimension by (p_id,month) measures (v1,v2) rules ( v1['err1',11] = v1['30',11] + v1['31',11] - v1['10',11], v2['err1',12] = v2['30',12] + v2['31',12] - v2['10',12]) order by code, p_id;
输出 CODEYEARP_IDMONTHV1
1600001201210112
2600001201230111
3600001201231111
46000012012err112
56000012012err1110
6600002201210123
7600002201230122
8600002201231122
96000022012err112
106000022012err111
--指定要聚合的维值
select code, p_id, month, v1 from t603 where year = '2012' model return updated rows partition by (code) dimension by (p_id,month) measures (v1) rules ( v1['err1',for month in(11,12)] = v1['30',cv(month)] + v1['31',cv(month)] -v1['10',cv(month)]) order by code, p_id, month;
输出 CODEP_IDMONTHV1
1600001err1110
2600001err112
3600002err111
4600002err1121
--CV()函数获取多行统计记录的当前值,可以使用表达式进行计算
--为数值型可用语法:for month from 1 to 12 increment 1
--还可以使用子查询:for year in (select year from t603)
相关推荐
SQL基础知识 SQL(Structured Query Language)是一种关系数据库标准语言,具有查询、操纵、定义、控制等四大功能。SQL的特点包括一体化、两种使用方式、统一的语法结构、高度非过程化、语言简洁易学易用等。 SQL...
- **向后兼容的Oracle类型**:由于TimesTen支持Oracle类型模式,因此还提供了一些额外的数据类型,以确保与Oracle数据库系统的兼容性。 - **TimesTen类型映射**:说明了如何在不同的数据模型之间进行类型转换。 - **...
总的来说,这个资料集提供了一套全面的学习Oracle PL/SQL的途径,从基础概念到实际应用,通过实例演示和动手实践,帮助读者建立起坚实的基础,提升在Oracle数据库环境中解决问题的能力。无论你是初学者还是有经验的...
1. **SQL基础**:SQL(Structured Query Language)是用于管理关系数据库的语言,包括SELECT、INSERT、UPDATE、DELETE四大基本语句,分别用于查询、插入、修改和删除数据。 2. **Oracle SQL扩展**:Oracle数据库...
Oracle SQL基础知识点主要包括以下几个方面: 1. SQL语言概述:结构化查询语言(SQL)是一种用于管理和操作关系数据库的标准编程语言。Oracle SQL遵循SQL标准,但同时也提供了一些特定于Oracle的扩展。 2. 数据...
Oracle SQL基础练习主要涉及的是对数据库中的数据进行查询、操作和管理的技能。SQL(Structured Query Language)是标准的数据库语言,用于执行各种任务,如创建表、插入数据、更新数据以及从数据库中检索信息。以下...
ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...
以上是Oracle SQL的基础知识点,通过深入理解和实践这些语句,能够高效地管理和操作Oracle数据库。在实际工作中,应结合具体需求灵活运用,不断提升数据库管理技能。参考资源如《Oracle Database SQL Reference》等...
为了更好地理解 Oracle 并行 SQL 的工作原理和优势,我们需要先了解一些基础知识。在串行执行环境中,一个单一的进程或线程负责执行 SQL 语句所需的操作,并且在某个操作完成之前,后续的操作无法开始。一个单独的 ...
本文将深入探讨Oracle基础知识,包括其架构、安装、数据类型、SQL语句、表空间管理以及备份与恢复策略。 一、Oracle数据库架构 Oracle数据库采用客户/服务器(Client/Server)模式,由多个组件构成。主要包括数据库...
【Java SSH Oracle SQLServer 学习笔记】 Java是一种广泛使用的面向对象的编程语言,它以其跨平台、开源和丰富的库而闻名。SSH是三个开源框架的缩写,分别是Spring、Struts和Hibernate,它们在Java Web开发中起着至...
【Oracle SQL笔记详解】 Oracle SQL是用于访问和...这些是Oracle SQL基础操作的一部分,实际应用中还有更复杂的查询技巧,如子查询、联接、聚合函数等。学习并掌握这些知识,对于有效管理和操作Oracle数据库至关重要。
根据提供的文档内容,我们可以归纳并深入探讨Oracle SQL的相关知识点,主要围绕SELECT语句及其使用方法展开。...这些知识点是学习和掌握Oracle SQL的重要基础,能够帮助用户更高效地管理和查询数据库中的数据。
本文将深入探讨Oracle SQL、PL/SQL、Spring以及ABAP等关键知识点,这些技术不仅构成了数据库管理和应用开发的基础,也是现代软件工程中不可或缺的一部分。 ### Oracle SQL Oracle SQL是Oracle数据库系统中的SQL...
优化基础知识** - **性能管理**:早期介入,设定明确目标,持续监控,团队协作,及时应对意外和变化,遵循80/20原则,即关注关键性能瓶颈。 - **SQL优化衡量指标**:主要关注系统响应时间与并发性。性能不佳通常...
优化基础知识包括性能管理、性能问题的识别、调整方法以及SQL优化机制。性能管理强调早期介入,设立目标,并持续监控与调整。性能问题通常与系统响应时间和并发性相关。调整方法包括业务功能、数据设计、流程设计、...
在IT领域,Oracle SQL与PL/SQL是数据库管理和应用程序开发中的关键技能,尤其对于初学者而言,掌握其基础知识至关重要。本文将围绕“Oracle SQL PL/基础学习”这一主题,深入探讨SQL*Plus的使用方法、命令语法以及...
### Oracle架构的基础知识(入门级) #### 一、Oracle数据库结构概述 在Oracle数据库系统中,数据被组织成一系列逻辑和物理结构。了解这些结构对于理解Oracle如何存储和管理数据至关重要。 ##### 1. 数据库文件...
在Oracle数据库管理中,SQL(Structured ...以上知识点构成了"Oracle高性能SQL调整"的核心内容。通过对这些领域的深入理解和实践,数据库管理员和开发人员能够有效提升Oracle系统的SQL执行效率,改善整体系统性能。