专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

【oracle】分析函数 oracle分析函数rownumber

ins518 2024-10-20 09:07:41 技术文章 75 ℃ 0 评论

【地震高岗,一派西山千古秀】

概念

分析函数,是基于一组数据行计算聚合值,其与聚合函数的不同之处在于,它为每一组返回多个数据行。一组数据行称为一个窗口,由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)
复制代码

【门朝大海,三河合水万年流】

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表