Oracle百分比分析函数RATIO_TO_REPORT() OVER()实例详解

 更新时间:2019年08月30日 10:36:46   作者:九命猫幺  
本文通过实例代码给大家介绍了oracle百分比分析函数RATIO_TO_REPORT() OVER(),代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

有时候不用的指标的绝对值不能比,但是转转为百分比的形式就容易看出波动了,是数据分析的好用的一个分析函数

20:00:24 SYS@orcl> conn scott/tiger;
Connected.
20:00:30 SCOTT@orcl> create table test
20:01:22  2  (
20:01:22  3  name varchar(20),
20:01:22  4  kemu varchar(20),
20:01:22  5  score number
20:01:22  6  );
Table created.
Elapsed: 00:00:00.04
20:01:23 SCOTT@orcl> insert into test values('testa','yuwen',10);
1 row created.
Elapsed: 00:00:00.02
20:01:35 SCOTT@orcl> insert into test values('testa','英语',100);
1 row created.
Elapsed: 00:00:00.00
20:01:35 SCOTT@orcl> insert into test values('testb','yuwen',60);
1 row created.
Elapsed: 00:00:00.01
20:01:36 SCOTT@orcl> insert into test values('testb','yuwen',120);
1 row created.
Elapsed: 00:00:00.00
20:01:36 SCOTT@orcl> insert into test values('testc','yuwen',40);
1 row created.
Elapsed: 00:00:00.00
20:01:37 SCOTT@orcl> commit;
Commit complete.
Elapsed: 00:00:00.00
20:01:42 SCOTT@orcl> select name,
20:03:32  2  score,
20:03:32  3   ratio_to_report(score) over() as ratio1,
20:03:32  4  ratio_to_report(score) over(partition by kemu) as ratio2
20:03:32  5  from test ;
NAME           SCORE   RATIO1   RATIO2
-------------------- ---------- ---------- ----------
testa            10 .03030303 .043478261
testb            60 .181818182 .260869565
testc            40 .121212121 .173913043
testb            120 .363636364 .52173913
testa            100 .303030303     1
Elapsed: 00:00:00.00
20:03:33 SCOTT@orcl>

总结

以上所述是小编给大家介绍的Oracle百分比分析函数RATIO_TO_REPORT() OVER(),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Oracle中nvl()和nvl2()函数实例详解

    Oracle中nvl()和nvl2()函数实例详解

    NVL函数的功能是实现空值的转换,根据第一个表达式的值是否为空值来返回响应的列名或表达式,下面这篇文章主要给大家介绍了关于Oracle中nvl()和nvl2()函数的相关资料,需要的朋友可以参考下
    2022-05-05
  • 关于Oracle Dataguard 日志传输状态监控问题

    关于Oracle Dataguard 日志传输状态监控问题

    ORACLE DATAGUARD的主备库同步,主要是依靠日志传输到备库,备库应用日志或归档来实现。这篇文章主要给大家介绍了关于Oracle Dataguard 日志传输状态监控问题,感兴趣的朋友跟随小编一起看看吧
    2019-05-05
  • Oracle数据库恢复教程之resetlogs操作

    Oracle数据库恢复教程之resetlogs操作

    这篇文章主要给大家介绍了关于Oracle数据库恢复教程之resetlogs操作的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle数据库具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • PL/SQL中编写Oracle数据库分页的存储过程

    PL/SQL中编写Oracle数据库分页的存储过程

    这篇文章主要介绍了 PL/SQL中编写Oracle数据库分页的存储过程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-06-06
  • centos下Oracle11G图文安装教程

    centos下Oracle11G图文安装教程

    这篇文章主要为大家详细介绍了centos下Oracle11G图文安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Oracle数据库集复制方法浅议

    Oracle数据库集复制方法浅议

    Oracle数据库集复制方法浅议...
    2007-03-03
  • Oracle跨库访问DBLINK使用以及实际应用

    Oracle跨库访问DBLINK使用以及实际应用

    这篇文章主要给大家介绍了关于Oracle跨库访问DBLINK使用以及实际应用的相关资料,DBLink的作用是在局域网内,通过一台服务器上面的数据库访问另外一台服务器上面数据库的功能,需要的朋友可以参考下
    2024-01-01
  • 常用的Oracle doc命令(收藏)

    常用的Oracle doc命令(收藏)

    这篇文章主要介绍了常用的Oracle doc命令(收藏)的相关资料,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-10-10
  • oracle数据库中sql%notfound的用法详解

    oracle数据库中sql%notfound的用法详解

    SQL%NOTFOUND 是一个布尔值。下面通过本文给大家分享oracle数据库中sql%notfound的用法,需要的的朋友参考下吧
    2017-06-06
  • 使用sqlplus命令行工具为oracle创建用户和表空间

    使用sqlplus命令行工具为oracle创建用户和表空间

    这篇文章主要介绍了使用sqlplus为oracle创建用户和表空间的方法,本文介绍的是使用Oracle 9i所带的命令行工具:SQLPLUS,需要的朋友可以参考下
    2017-11-11

最新评论