• Oracle之数据操作__子查询_分析函数


    一. 分析函数主要语法

    传统SQL的问题:

                

    基本语法:

                

    组合顺序:

               

    1. 使用PARTITION子句

    SELECT did,ename,sal,
        SUM(sal) OVER (PARTITION BY did) sum 
    FROM emp;

                    

                        

     2. 不适用PARITION进行分区,直接利用OVER子句操作

    SELECT did,ename,sal,
        SUM(sal) OVER () sum
    FROM emp;

                      

     3. 通过PARTITION设置多个分区字段

    SELECT did,ename,sal,job,
        SUM(sal) OVER (PARTITION BY did,job) sum
    FROM emp;

                   

    4. 观察ORDER BY 子句

     SELECT did,ename,sal,
         RANK() OVER (PARTITION BY did ORDER BY sal DESC) rk
    FROM emp

                            

    # ORDER BY 子句的作用主要就是进行排序,但是现在实现的是分区内数据的排序,而这个会直接影响到最终得到查询结果

    5. 直接利用 ORDER BY 排序所有数据

    SELECT did,ename,sal,hiredate,
        SUM(sal) OVER (ORDER BY ename DESC) sum
    FROM emp;

                    

    6, ORDER BY 子句选项:

                 

    6.1 null在前

    SELECT did,ename,sal,comm,
        RANK() OVER (ORDER BY comm DESC) rk,
        SUM(sal) OVER (ORDER BY comm DESC) sum
    FROM emp;

                             

     6.2 null在后

    SELECT did,ename,sal,comm,
        RANK() OVER (ORDER BY comm DESC NULLS LAST) rk,
        SUM(sal) OVER (ORDER BY comm DESC  NULLS LAST) sum
    FROM emp;

                           

    二. 分窗操作的使用

    WINDOWING子句:

              

    三. 了解基本分析函数

  • 相关阅读:
    vim编辑参数
    hive的元数据存储在mysql后,报错的解决方法!
    hadoop添加删除节点
    Android画图Path的使用
    android中path的arcTo方法的使用 .
    StrongReference、SoftReference、WeakReference、PhantomReference .
    为Android应用增加渠道信息 自动化不同渠道的打包过程
    C#知识点
    CSS判断浏览器
    调用外部程序
  • 原文地址:https://www.cnblogs.com/zhaochangbo/p/8411188.html
Copyright © 2020-2023  润新知