oracle中within group的用法

原创
2012/04/10 20:50
阅读数 1.2W

within group语句和group by没有半毛钱关系,只是一些单值聚合函数的辅助关键字,下面以rank函数为例。

rank在oracle中分为聚合函数和分析函数两种,本篇不介绍分析函数,参考分析函数篇章。
聚合函数的rank语法为:rank(expr1,expr2) within group (order by expr3,expr4 [desc/asc] nulls [first/last])
表示计算以expr3,expr4为排序条件的结果集中,expr3=expr1 and expr4=expr2的记录排序号,返回为数字类型。排序为非紧凑排序,即前两条记录相同,那么排序号依次是1,1,3... 使用时无需一定要和group by搭配使用。

所谓触类旁通,只要知道within group在rank中的含义,那么和其他函数一起使用时,也就无师自通了。
可以使用within group关键字的函数有rank,dense_rank,PERCENT_RANK,PERCENTILE_CONT,PERCENTILE_DISC等

 

展开阅读全文
打赏
1
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部