网站首页 > 数据库 / 正文
【地震高岗,一派西山千古秀】
概念
分析函数,是基于一组数据行计算聚合值,其与聚合函数的不同之处在于,它为每一组返回多个数据行。一组数据行称为一个窗口,由analytic_clause子句进行定义,对于每一行,定义一个行移动窗口,窗口确定用于为当前行执行计算的行的范围,它的大小可以基于物理行或逻辑间隔(如时间)。
语法
analytic_function: 指出分析函数的名称;
arguments: 分析函数的参数,参数数量在0个到3个之间,该参数类型可以是任何数值数据类型,或者任何可以隐式转换为数值数据类型的非数值类型。
analytic_clause: 使用OVER analytic_clause子句展示在查询结果集上所进行的函数操作,该子句是在FROM、WHERE、GROUP BY和HAVING子句后进行计算的。
使用PARTITION BY子句可以基于一个或多个expr将查询结果集划分为多个组,如果忽略该子句,则函数会将整个查询结果集当做一个组。
order_by_clause子句用于指定数据是在一个分组里是如何进行排序的。
分析函数类型
CUME_DIST
计算一个值在一组值中的累积分布,返回的值的范围是0到1。计算逻辑为:在一组值中某一个值的相对位置,即对于某一行R,总行数为N,值为R/N
DENSE_RANK
CUME_DIST函数类似,返回值的范围是0到1,使用该函数的任何集合的第一行是0。计算逻辑为:对于某一行R,总行数为N,值为(R-1)/(N-1)
复制代码
【门朝大海,三河合水万年流】
Tags:oracle的语法
猜你喜欢
- 2024-11-26 Oracle OAC系列:可视化中的常见操作1
- 2024-11-26 TiDB 专用语法,优化器注释和表属性
- 2024-11-26 从零开始学习Oracle之触发器
- 2024-11-26 [4]数据库编程-【1】SQL语法
- 2024-11-26 oracle数据库的安装
- 2024-11-26 SQL高阶(窗口函数)
- 2024-11-26 oracle常用命令合集
- 2024-11-26 Oracle技术分享 LOCK TABLE语法
- 2024-11-26 Mysql总结 (上)
- 2024-11-26 Oracle SQL解析全过程