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。

            

             聚合开窗函数

            

          

          

  • 相关阅读:
    JavaEE——SpringMVC(11)--拦截器
    JavaEE——SpringMVC(10)--文件上传 CommonsMultipartResovler
    codeforces 460A Vasya and Socks 解题报告
    hdu 1541 Stars 解题报告
    hdu 1166 敌兵布阵 解题报告
    poj 2771 Guardian of Decency 解题报告
    hdu 1514 Free Candies 解题报告
    poj 3020 Antenna Placement 解题报告
    BestCoder5 1001 Poor Hanamichi(hdu 4956) 解题报告
    poj 1325 Machine Schedule 解题报告
  • 原文地址:https://www.cnblogs.com/WangJunZzz/p/7258761.html
Copyright © 2011-2022 走看看