
此篇文章主要记录一下分析函数-ratio_to_report,主要讲解两种场景:
场景一:每行的某列的数据在总行数此列数据的百分比
场景二:每行的某列数据在某分类组数据的百分比
小编以SCOTT用户下的EMP表来完成。
格式如下:
RATIO_TO_REPORT (expr) OVER (query_partition_clause)
占比函数,expr为表达式,qurey_partition_clause为分组查询,over括号里面的参数可以为空,当为空,则表示每行在总行的比值。
1.使用EMP表

2.使用ratio_to_report来实现上面的场景
SELECT EMPNO,ENAME,ENAME,HIREDATE,SAL,DEPTNO,
RATIO_TO_REPORT(SAL) OVER () AS PCT1L,
RATIO_TO_REPORT(SAL) OVER (PARTITION BY DEPTNO) AS PCT2
FROM EMP;

对记录数进行验算,是否正确?

从查询的结果看,SAL字段的总数位29025
分别使用EMPNO=7782的SAL字段占总数的比值和占分类后所属单位的比值
2450/29025=.084409991
2450/8750=0.28


文章转载自码蚁在线,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




