聚合函数RANK和dense,第1张

聚合函数RANK和dense,第2张

aggregate RANK和dense_rank的主要作用是计算一组数值中的排序值。

在9i版本之前,只有分析函数,即从查询结果中计算每行的排序值,是基于order_by_clause中的value_exprs指定字段的。

其语法为:

rank()over([query _ partition _ clause]ORDER _ BY _ clause)

在9i版本中新增了聚合函数,即这些参数必须是常量或文字表达式,并且必须与ORDER BY子句中字段的个数、位置和类型完全相同。

它的语法是:

RANK (expr [,expr]...(ORDER BY
expr[desc | ASC][null { FIRST | LAST }]
[,Exp[desc | ASC][null { FIRST | LAST }]]...
]
例1:

有一个表格,内容如下

col 1 col 2 1
3 2
3 1
4 1
4 2
5 2
6 2

在报表中找出各个科目的最上面的信息更有用。

从表a中选择a.*,RANK()OVER(PARTITION BY col 2 ORDER BY col 1)“RANK”;

结果如下:

col 1 col 2 rank
111
313
414
321[/br]]4 2 2
5 2 3
5 2 3
例2:

表:A(主题,分数)

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 聚合函数RANK和dense

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情