这篇文章将为大家详细讲解有关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>
关于Oracle中RATIO_TO_REPORT() OVER()函数的作用是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。