Oracle 分析函数的使用

上传人:飞*** 文档编号:43378565 上传时间:2018-06-05 格式:DOC 页数:18 大小:61.50KB
返回 下载 相关 举报
Oracle 分析函数的使用_第1页
第1页 / 共18页
Oracle 分析函数的使用_第2页
第2页 / 共18页
Oracle 分析函数的使用_第3页
第3页 / 共18页
Oracle 分析函数的使用_第4页
第4页 / 共18页
Oracle 分析函数的使用_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《Oracle 分析函数的使用》由会员分享,可在线阅读,更多相关《Oracle 分析函数的使用(18页珍藏版)》请在金锄头文库上搜索。

1、Oracle 分析函数使用介绍分析函数是 oracle816 引入的一个全新的概念,为我们分析数据提供了一种简单高效的处理方式.在分析函数出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在只要一条简单的 sql 语句就可以实现了,而且在执行效率方面也有相当大的提高.下面我将针对分析函数做一些具体的说明.今天我主要给大家介绍一下以下几个函数的使用方法1. 自动汇总函数 rollup,cube,2. rank 函数, rank,dense_rank,row_number3. lag,lead 函数4. sum,avg,的移动增加,移动平均数5. ratio_to

2、_report 报表处理函数6. first,last 取基数的分析函数06:34:23 SQL select * from t;BILL_MONTH AREA_CODE NET_TYPE LOCAL_FARE- - - -200405 5761 G 7393344.04200405 5761 J 5667089.85200405 5762 G 6315075.96200405 5762 J 6328716.15200405 5763 G 8861742.59200405 5763 J 7788036.32200405 5764 G 6028670.45200405 5764 J 645912

3、1.49200405 5765 G 13156065.77200405 5765 J 11901671.70200406 5761 G 7614587.96200406 5761 J 5704343.05200406 5762 G 6556992.60200406 5762 J 6238068.05200406 5763 G 9130055.46200406 5763 J 7990460.25200406 5764 G 6387706.01200406 5764 J 6907481.66200406 5765 G 13562968.81200406 5765 J 12495492.502004

4、07 5761 G 7987050.65200407 5761 J 5723215.28200407 5762 G 6833096.68200407 5762 J 6391201.44200407 5763 G 9410815.91200407 5763 J 8076677.41200407 5764 G 6456433.23200407 5764 J 6987660.53200407 5765 G 14000101.20200407 5765 J 12301780.20200408 5761 G 8085170.84200408 5761 J 6050611.37200408 5762 G

5、6854584.22200408 5762 J 6521884.50200408 5763 G 9468707.65200408 5763 J 8460049.43200408 5764 G 6587559.23BILL_MONTH AREA_CODE NET_TYPE LOCAL_FARE- - - -200408 5764 J 7342135.86200408 5765 G 14450586.63200408 5765 J 12680052.3840 rows selected.Elapsed: 00:00:00.00下面是直接使用普通 sql 语句求出各地区的汇总数据的例子06:41:3

6、6 SQL set autot on06:43:36 SQL select area_code,sum(local_fare) local_fare06:43:50 2 from t06:43:51 3 group by area_code06:43:57 4 union all06:44:00 5 select 合计 area_code,sum(local_fare) local_fare06:44:06 6 from t06:44:08 7 /AREA_CODE LOCAL_FARE- -5761 54225413.045762 52039619.605763 69186545.02576

7、4 53156768.465765 104548719.19合计 333157065.316 rows selected.Elapsed: 00:00:00.03Execution Plan-0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=1310 Bytes=24884)1 0 UNION-ALL2 1 SORT (GROUP BY) (Cost=5 Card=1309 Bytes=24871)3 2 TABLE ACCESS (FULL) OF T (Cost=2 Card=1309 Bytes=24871)4 1 SORT (AGGR

8、EGATE)5 4 TABLE ACCESS (FULL) OF T (Cost=2 Card=1309 Bytes=17017)Statistics-0 recursive calls0 db block gets6 consistent gets0 physical reads0 redo size561 bytes sent via SQL*Net to client503 bytes received via SQL*Net from client2 SQL*Net roundtrips to/from client1 sorts (memory)0 sorts (disk)6 row

9、s processed下面是使用分析函数 rollup 得出的汇总数据的例子06:44:09 SQL select nvl(area_code,合计) area_code,sum(local_fare) local_fare06:45:26 2 from t06:45:30 3 group by rollup(nvl(area_code,合计)06:45:50 4 /AREA_CODE LOCAL_FARE- -5761 54225413.045762 52039619.605763 69186545.025764 53156768.465765 104548719.19333157065.3

10、16 rows selected.Elapsed: 00:00:00.00Execution Plan-0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=5 Card=1309 Bytes=24871)1 0 SORT (GROUP BY ROLLUP) (Cost=5 Card=1309 Bytes=24871)2 1 TABLE ACCESS (FULL) OF T (Cost=2 Card=1309 Bytes=24871)Statistics-0 recursive calls0 db block gets4 consistent gets0 physical reads0 redo size557 bytes sent via SQL*Net to client503 bytes received via SQL*Net from client2 SQL*Net roundtrips to/from client1 sorts (memory)0 sorts (disk)6 rows processed从上面的例子我们不难看出使用从上面的例子我们不难看出使用 rollup 函数函数,系统的系统的 sql 语句更加简单语

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号