随笔分类 -  oracle分析函数

三、常见分析函数详解
摘要:为了方便进行实践,特将演示表和数据罗列如下:一、创建表create table t( bill_month varchar2(12) , area_code number, net_type varchar(2), local_fare number );二、插入数据insert into t values('200405',5761,'G', 7393344.04); insert into t values('200405',5761,'J', 5667089.85); insert into t values('20 阅读全文
posted @ 2012-04-06 15:43 Ruthless 阅读(17035) 评论(0) 推荐(3) 编辑
二、理解over()函数
摘要:1.1、两个order by的执行时机分析函数是在整个sql查询结束后(sql语句中的order by的执行比较特殊)再进行的操作, 也就是说sql语句中的order by也会影响分析函数的执行结果:a) 两者一致:如果sql语句中的order by满足分析函数分析时要求的排序,那么sql语句中的排序将先执行,分析函数在分析时就不必再排序;b) 两者不一致:如果sql语句中的order by不满足分析函数分析时要求的排序,那么sql语句中的排序将最后在分析函数分析结束后执行排序。1.2、分析函数中的分组/排序/窗口 分析函数包含三个分析子句:分组(partition by), 排序(order 阅读全文
posted @ 2012-04-05 19:53 Ruthless 阅读(16725) 评论(0) 推荐(2) 编辑
一、Oracle分析函数入门
摘要:分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值。分析函数和聚合函数的不同之处是什么?普通的聚合函数用group by分组,每个分组返回一个统计值,而分析函数采用partition by分组,并且每组每行都可以返回一个统计值。分析函数的形式分析函数带有一个开窗函数over(),包含三个分析子句:分组(partition by), 排序(order by), 窗口(rows) ,他们的使用形式如下:over(partition by xxx order by yyy row 阅读全文
posted @ 2012-04-04 15:12 Ruthless 阅读(39715) 评论(4) 推荐(9) 编辑