zoukankan      html  css  js  c++  java
  • oracle高级分析函数用法

    1.
    /** 先来一个简单的,注意over(...)条件的不同 使用 sum(sal) over (order by ename)... 查询员工的薪水-连续-求和, 注意 over (order by ename) 如果没有order by 子句,求和就不是连续的,放在一起,体会一下不同之处 */
    select deptno,ename,sal,
    sum(sal) over (order by ename) 连续求和,
    sum(sal) over () 总和, --此处sum(sal) over ()  等同于sum(sal)
    100*round(sal/sum(sal) over () , 5) "份额(%)" 
    from emp



    2.分区
    /**
    使用子分区查出各部门薪水连续的总和,注意按部门分区,注意over(...)条件的不同
    sum(sal) over (partition by deptno order by ename) 按部门连续求总和
    sum(sal) over (partition by deptno) 按部门求总和
    sum(sal) over (order by deptno,ename) 不同部门连续求总和
    sum(sal) over () 不按部门,求所有员工总和,效果等同于sum(sal)
    */
    select deptno,ename,sal,
    sum(sal) over (partition by deptno order by ename) 部门连续求和,--各部门的薪水连续求和
    sum(sal) over (partition by deptno) 部门总和, --部门统计的总和,同一部门总和不变
    100*round(sal/sum(sal) over (partition by deptno),4) "部门份额(%)",
    sum(sal) over (order by deptno,ename) 连续求和,  --所有部门的薪水连续求和
    sum(sal) over () 总和, --等价于所有员工的薪水总和 sum(sal)
    100*round(sal/sum(sal) over (),4) "总份额(%)"
    from emp



  • 相关阅读:
    大数定理、中心极限定理、样本估计参数
    泰勒公式、Jenson不等式、切比雪夫不等式
    查询:分页、连接查询、自关联、子查询
    查询:排序Order by、聚合函数、分组groupby
    查询:基本查询、条件查询
    数据库和表的基本操作
    函数使用,增删改操作
    groupby
    统计分析函数
    pandas的基础使用
  • 原文地址:https://www.cnblogs.com/liuyi13535496566/p/12485267.html
Copyright © 2011-2022 走看看