好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

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: 0.04

20:01:23 SCOTT@orcl> insert into test values ( 'testa' , 'yuwen' ,10);

1 row created.

Elapsed: 0.02

20:01:35 SCOTT@orcl> insert into test values ( 'testa' , '英语' ,100);

1 row created.

Elapsed: 0.00

20:01:35 SCOTT@orcl> insert into test values ( 'testb' , 'yuwen' ,60);

1 row created.

Elapsed: 0.01

20:01:36 SCOTT@orcl> insert into test values ( 'testb' , 'yuwen' ,120);

1 row created.

Elapsed: 0.00

20:01:36 SCOTT@orcl> insert into test values ( 'testc' , 'yuwen' ,40);

1 row created.

Elapsed: 0.00

20:01:37 SCOTT@orcl> commit ;

Commit complete.

Elapsed: 0.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: 0.00

20:03:33 SCOTT@orcl>

总结

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

原文链接:https://www.cnblogs.com/yongestcat/archive/2019/08/30/11433451.html

查看更多关于Oracle百分比分析函数RATIO_TO_REPORT() OVER()实例详解的详细内容...

  阅读:30次