有时候不用的指标的绝对值不能比,但是转转为百分比的形式就容易看出波动了,是数据分析的好用的一个分析函数
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>
总结
以上所述是www.887551.com给大家介绍的oracle百分比分析函数ratio_to_report() over(),希望对大家有所帮助