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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM