--创建用于测试的表及数据 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)
相关推荐
2.1 Oracle架构基础 25 2.2 SGA-共享池 27 2.3 库高速缓存 28 2.4 完全相同的语句 29 2.5 SGA-缓冲区缓存 32 2.6 查询转换 35 2.7 视图合并 36 2.8 子查询解嵌套 39 2.9 谓语前推 42 2.10 使用物化视图...
Oracle数据库体系结构,SQL基本查询,修改SQL数据与SQL*Plus命令,PL/SQL编程基础,用户、模式和表,高级查询,过程、函数和程序包,表类型,索引,视图、序列和同义词,触发器,事务与并发控制,安全,管理存储结构...
第1章 数据库与sql基础 1 1.1 数据库的基本概念 1 1.1.1 数据库的由来 1 1.1.2 数据库系统的概念 3 1.2 数据库系统的结构、组成及工作流程 3 1.2.1 数据库的体系结构 3 1.2.2 数据库系统的组成 4 1.2.3 ...
本书能使读者快捷地掌握oracle database 11g的基础知识。通过自我评估教程,介绍了核心数据库技术、管理员职责、高可用性以及大型数据库特性。本书带领读者循序渐进地学习数据库设置、管理、编程、备份和恢复。还...
第1章 数据库与SQL基础 1.1 数据库的基本概念 1.1.1 数据库的由来 1.1.2 数据库系统的概念 1.2 数据库系统的结构、组成及工作流程 1.2.1 数据库的体系结构 1.2.2 数据库系统的组成 1.2.3 数据库...
第6章 性能优化基础知识 82 §5.1 理解ORACLE性能优化 82 §5.1.1 响应时间与吞吐量的折衷 82 §5.1.2 临界资源 83 §5.1.3 过度请求的影响 83 §5.1.4 调整以解决问题 83 §5.2 优化的执行者 84 §5.3 设置性能目标...
《Oracle Database 11g初学者指南》能使读者快捷地掌握Oracle Database 11g的基础知识。通过自我评估教程,介绍了核心数据库技术、管理员职责、高可用性以及大型数据库特性。《Oracle Database 11g初学者指南》带领...
《Oracle11g宝典》共分19章,第1~4章分别介绍了Oracle11g的下载和安装、SQL*Plus的使用、SQ语言与PL/SQL.程序设计,第5~9章分别介绍了Oracle11g的体系结构、表空间与数据文件的管理、启动和关闭数据库、网络服务...
概括介绍了计算机应用模式的变迁和计算机信息管理的全貌与发展,结合当前典型的数据库产品Oracle、SQL Server和关系数据库标准语言SQL,详细介绍了数据库的基础知识和主要技术,并以Delphi为例介绍了面向对象的组件...
Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...
ORACLE用户是学习ORACLE数据库中的基础知识,下面就介绍下类系统常用的默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,...
本书以Oracle 10g为基础,由浅入深、从易到难,详细介绍了DBA职位所要求的知识结构和实战技能。第1章至第4章是基础篇,包括数据库建模、Oracle体系结构、网络结构、备份恢复和使用OEM,这些对于刚刚从事DBA或者试图...
编程基础知识 1. 程序结构 PL/SQL程序都是以块(block)为基本单位,整个PL/SQL块分三部分:声明部分(用declare开头)、执行部分(以 begin开头)和异常处理部分(以exception开头)。其中执行部分是必须的,...
使大家快速掌握SQL的基础及部分高阶知识,进而熟练的对数据库表、字段进行各种查询、创建、更新、删除操作。 本课程内容可分为三大块: (1)条件查询、排序、分组、模糊查询、聚合函数等基础部分讲解; ...
普及一下oracle的基础知识,总结一下,oracle 是由实例和数据库组成。结构如下: oracle数据库由实例、数据库组成: * 数据库由数据文件(包含oracle 数据、索引、表结构等数据)、控制文件(包括每个表的操作信息...
⼤数据的基础知识 1、⼤数据的基础知识 ⼤数据的概念 ⼤数据(big data),IT⾏业术语,是指⽆法在⼀定时间范围内⽤常规软件⼯具进⾏捕捉、管理和处理的数据集合,是需要新处理模式才能 具有更强的决策⼒、洞察发现...
Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...