oracle中within group的用法

柔情痞子 提交于 2019-12-15 16:23:00

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

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等

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!