zoukankan      html  css  js  c++  java
  • 学习Oracle分析函数

    Oracle提供了一些功能很强大的分析函数,使用这些函数可以完成可能需要存储过程来实现的需求。

    分析函数计算基于一组数据行的聚合值,它们不同于聚合函数的是,它们为每一组返回多行结果。分析函数是除ORDER BY子句之外,在查询语句中最后执行的。所有的join和所有的WHERE ,GROUP BY 和HAVING子句都在分析函数之前执行。所以分析函数只能出现在select或ORDER BY子句中。

    绍一下各个部分:

    analytic_function

    指定分析函数的名字,后面列出了所有的分析函数

    arguments

    分析函数可以有0到3个参数。参数可以是任何数值类型或可以隐式转换为数值类型的其他非数值类型。

    analytic_clause

    用OVER analytic_clause表明函数操作的是一个查询结果集。如果想过滤基于分析函数的查询结果,需要使用嵌套子查询。

    query_partition_clause

    用PARTITION BY子句来把查询结果集基于一个或多个value_expr分组。如果省略,分析函数把所有行当作一组。

    order_by_clause

    用order_by_claus指定在一组中数据如何排序。

    ASC(default)|DESC

    NULLS FIRST(default in DESC)|NULLS LAST(default in ASC)

    windowing_clause

    部分分析函数允许使用windowing_clause子句。

    只有当指定了order_by_clause后才能指定这个子句。

    ROWS指定使用物理行的window

    RANGE指定使用逻辑偏移的window

  • 相关阅读:
    类继承
    抽象基类 纯虚函数
    虚函数
    Java网络通信
    Java补补补
    刷LeetCode吧
    贝叶斯网络的
    vscode添加vue模板
    vue--项目实例
    Java01
  • 原文地址:https://www.cnblogs.com/smart123/p/6754692.html
Copyright © 2011-2022 走看看