欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-08-10 22:36:28
有时候不用的指标的绝对值不能比,但是转转为百分比的形式就容易看出波动了,是数据分析的好用的一个分析函数 20:00:24 sys@orcl> conn sc...

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

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(),希望对大家有所帮助