zoukankan      html  css  js  c++  java
  • Oracle学习系类篇(四)

     .分析函数

      分析函数oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组,然后计算基于组的邹忠统计值,并且每一组的每一行都可以返回一个统计值。

      分析函数和聚合函数的不同之处是什么?

      普通的聚合函数用group by分组。每个分组返回一个统计值。而分析函数采用partition by 分组,每个分组没行都可以返回一个统计值。

      分析函数的形式:

      分析函数带有一个开窗函数over(),包含三个分析子句:分组(partirion by),排序(order by),窗口(rows)。

    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)。

        统计某商店的营业额。        

             规则:按天统计:每天都统计前面几天的总额
           
            
          排序开窗函数 

          排序函数(列)over(选项),这里的选项可以是order by子句,也可以是over(partition by 子句 order by 子句),但是不可以是partition by子句

            1.row_number() over()

              

              

              2.rank() rank计算一组值的排名,返回数字类型。排名可能是不连续。如果有5人,其中有2个人排名第一,则rank返回的排名结果为:1 1 3 4 5。

          

             3.dense_rank计算一组值的排名,该排名是连续整数从1开始。如果有5人,其中有2个人排名第一,则rank返回的排名结果为:1 1 2 3 4。

            

             聚合开窗函数

            

          

          

  • 相关阅读:
    C/C++ 链接汇总
    C# 网页操作
    Win10屏幕开始菜单图标丢失修复方案无意中发现的...
    AI 人工智能
    GIT 命令
    Layui / WEB UI
    PHP DES解密 对应Java SHA1PRNG方式加密
    视频参数介绍及关系《转》
    分布式时系统/服务 数据一致性方案
    JS埋点 小结
  • 原文地址:https://www.cnblogs.com/WangJunZzz/p/7258761.html
Copyright © 2011-2022 走看看