摘要: Oracle 分析函数使用介绍 分析函数是oracle816引入的一个全新的概念,为我们分析数据提供了一种简单高效的处理方式.在分析函数出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在只要一条简单的sql语句就可以实现了,而且在执行效率方面也有相当大的提高.下面我将针对分析函数做一些具体的说明.今天我主要给大家介绍一下以下几个函数的使用方法1.自动汇总函数rollup,cube,2.rank 函数, rank,dense_rank,row_number3. lag,lead函数4. sum,avg,的移动增加,移动平均数5. ratio_... 阅读全文
posted @ 2010-08-16 13:25 Horrison 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 一:分析函数overOracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 下面通过几个例子来说明其应用。 1:统计某商店的营业额。 date sale 1 20 2 15 3 14 4 18 5 30 规则:按天统计:每天都统计前面几天的总额 得到的结果: DATE SALE SUM ----- -------- ------ 1 20 20 --1天 2 15 35 --1天+2天 3 14 49 --1天+2天+3天 4 18 67 . 5 30 97 . 2:统计各班成绩第一名... 阅读全文
posted @ 2010-08-16 13:15 Horrison 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 在Oracle PL-SQL中,左连接和右连接以如下方式来实现 查看如下语句:SELECT emp_name, dept_nameFORM Employee, DepartmentWHERE Employee.emp_deptid(+) = Department.deptid 此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。反之:SELECT emp_name, dept_nameFORM Employee, Depar 阅读全文
posted @ 2010-08-16 10:59 Horrison 阅读(855) 评论(0) 推荐(0) 编辑
摘要: 参考文献: 《expert one-on-one》、《Oracle 9i reference》oracle函数分两类:单行函数、多行函数 。多行函数也成为聚合函数、组合函数,参数为数组,数据大小为记录数,这种数组不是普通高级语言的数组,是一种虚拟数组,当记录数大时,会将数据写入硬盘,内存中放的只是影像。oracle从8.1.6开始提供分析函数,用于计算基于组的某种聚合值。它和聚合函数的不同之处在于每个组返回多行,聚合函数每个组只返回一行。开窗函数:指定了分析函数工作的数据窗口大小,这个数据大小会随数据行数变化而变化,示例如下:over(order by salary) 按照salary排序进行 阅读全文
posted @ 2010-08-16 10:53 Horrison 阅读(1485) 评论(0) 推荐(0) 编辑