分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值。

它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行,比如经常用来计算一些分组数据的总和和平均值之类,常用函数有AVG()、SUM()、MIN()、MAX()等等。。

 

语法:

rank ()over(partition by .. order by ..)

dense_rank()over(partition by .. order by ..)

row_number()over (partition by .. order by ..)      

可实现按指定的字段分组排序,对于相同分组字段的结果集进行排序,其中partition by 为分组字段,order by 指定排序字段 MAX()OVER(PARTITION BY ...) SUM()OVER(PARTITION BY ...) TO_CHAR(WM_CONCAT(AA.gfrmc)OVER(PARTITION BY AA.HTBH))

 

说明:1代表全表,公司hz_jjhygl库的表查询如下

select rank() over(partition by 1 order by t.zccyryzs desc) as rank,

t.zccyryzs,

t.*

from hz_jjhygl.tpz_cyqyxx t

where t.lsbz = 0

and t.zccyryzs is not null;

 

学习视频的效果如下图所示。

 

分析函数

 

其他参考博客:https://www.cnblogs.com/qiuting/p/7880500.html

 

相关文章: