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

(编辑:jimmy 日期: 2024/12/26 浏览:2)

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

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(),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。