ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 几个聚合/分析函数的比较<二>

几个聚合/分析函数的比较<二>

原创 Linux操作系统 作者:yangjie_5211 时间:2010-05-26 17:36:45 0 删除 编辑
1.LEAD & LAG

分析函数,用于访问当前行给定偏移量的记录。

语法:

LEAD(expre 1,offset,default) OVER(PARTITION BY expre2 ORDER BY expre2)
LAG(expre 1,offset,default) OVER(PARTITION BY expre2 ORDER BY expre2)

expre 1指明了访问的字段,offset指明了偏移的行数,默认为1,default指明了指定偏移的行不存在时的返回值,默认为null。
ORDER BY 字句必须,PARTITION BY可选.
LEAD向后(下)偏移
LAG向前(上)偏移

2. ROW_NUMBER, RANK & DENSE_RANK
三个函数都根据排序条件,为每一行分配一个代表起等次的整数。

ROW_NUMGER 分析函数, 为每个分组分配变化的序号
ROW_NUMBER OVER(PARTITION BY expr1 ORDER BY expr2)


RANK & DENSE_RANK 聚合/分析函数,为每个等级的组分配一个代表起等次的整数。
不同点在于,RANK对于并列的等次,后续要跳过中间等次,如1,2,2,4。
DENSE_RANK则不会,如1,2,2,3。

聚合函数语法
RANK/DENSE_RANK(expr1,expr2...) WITHIN GROUP
(ORDER BY expr1,expr2...)
排序语句中指明了排序的原则,参数中给出的值则表示该组合在什么等次。

分析函数语法
RANK/DENSE_RANK() OVER(PARTITION BY expr1 ORDER BY expr2...)


:END

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21402791/viewspace-663781/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: Oracle外连接
请登录后发表评论 登录
全部评论

注册时间:2009-12-18

  • 博文量
    12
  • 访问量
    11117