文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络程序开发OracleORACLE OLAP函数语法的总结
精品推荐
特别推荐
·ORACLE应用中常见的傻瓜问题1000问 (二)
·自动清除statspack所产生的snapshot旧记录
·MPlayer常见问题解答
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
热点TOP10
·ORACLE常用傻瓜问题1000问
·自动清除statspack所产生的snapshot旧记录
·Oracle DBMS_REPAIR包修复损坏数据块
·DBMS_REPAIR包修复损坏数据块
·我的oracle笔记四(DBA管理)
·ORACLE应用中常见的傻瓜问题1000问 (二)
·ORA-01555 快照过旧
·VMware下RedHat安装Oracle 9i RAC全攻略
·Oracle SQL精妙SQL语句讲解
·Oracle客户端文件打包

ORACLE OLAP函数语法的总结

日期:2007年7月23日 作者: 查看:[大字体 中字体 小字体]


ORACLE OLAP 函数
      最近这个东东用得特别多,总结了一下 。

语法: FUNCTION_NAME(,,...)
        OVER
        ()


OLAP函数语法四个部分:
1、function本身 用于对窗口中的数据进行操作;
2、partitioning clause 用于将结果集分区;
3、order by clause 用于对分区中的数据进行排序;
4、windowing clause 用于定义function在其上操作的行的集合,即function所影响的范围。

一、order by对窗口的影响
不含order by的:
SQL> select deptno,sal,sum(sal) over()
  2  from emp;
不含order by时,默认的窗口是从结果集的第一行直到末尾。
含order by的:
SQL> select deptno,sal,
  2         sum(sal) over(order by deptno) as sumsal
  3  from emp;
当含有order by时,默认的窗口是从第一行直到当前分组的最后一行。

二、用于排列的函数
SQL> select empno, deptno, sal,
  2         rank() over
  3         (partition by deptno order by sal desc nulls last) as rank,
  4         dense_rank() over
  5         (partition by deptno order by sal desc nulls last) as dense_rank,
  6         row_number() over
  7         (partition by deptno order by sal desc nulls last) as row_number
  8   from  emp;

三、用于合计的函数


SQL> select deptno,sal,
  2         sum(sal) over (partition by deptno) as sumsal,
  3         avg(sal) over (partition by deptno) as avgsal,
  4         count(*) over (partition by deptno) as count,
  5         max(sal) over (partition by deptno) as maxsal
  6    from emp;

四、开窗语句

1、rows窗口: "rows 5 preceding"

    适用于任何类型而且可以order by多列。

   SQL> select deptno,ename,sal,
          2         sum(sal) over (order by deptno rows 2 preceding) sumsal
          3    from emp;

rows 2 preceding:将当前行和它前面的两行划为一个窗口,因此sum函数就作  用在这三行上面
SQL> select deptno,ename,sal,
  2         sum(sal) over

[1] [2] 下一页 




上一篇:我的oracle笔记三(系统函数和系统包使用方面)

下一篇:mysql数据库的学习

相关文章:
·某高手总结的电脑技巧
·CPU型号大全总结
·Vista系统使用技巧总结
·C语言的常用库函数使用方法分析及用途
·WindowsXP应用技巧的具体总结
·ORACLE常用傻瓜问题1000问
·C语言编程常见问题解答之常用函数的包含文件(1)
·Oracle DBMS_REPAIR包修复损坏数据块
·总结性知识:107个常用Javascript语句
·我的oracle笔记四(DBA管理)
相关软件:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot