暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle SQL小示例系列-分析函数

码蚁在线 2017-07-26
349

此篇文章主要记录一下分析函数-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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论