ITPub博客

首页 > 数据库 > Oracle > 分析函数——lead与lag

分析函数——lead与lag

原创 Oracle 作者:hanjs 时间:2007-02-03 16:50:56 0 删除 编辑

lag(expression<,offset><,default>)函数可以访问组内当前行之前的行,
而lead(expression<,offset><,default>)函数则正相反,可以反问组内当前行之后的行.
其中,offset是正整数,默认为1.因组内第一个条记录没有之前的行,最后一行没有之后的行,
default就是用于处理这样的信息,默认为空.

注意:这2个函数必须指定 order By 字句.

SQL> select id,name,salary,lag(salary) over (order by salary) lag,
2 lead(salary) over (order by salary) lead from emp;

ID NAME SALARY LAG LEAD
---------- ---------- ---------- ---------- ----------
101 rose 3000 4500
102 john 4500 3000 5600
100 jacky 5600 4500

SQL> select id,name,salary,lag(salary,1,0) over (order by salary) lag,
2 lead(salary,1,salary) over (order by salary) lead from emp;

ID NAME SALARY LAG LEAD
---------- ---------- ---------- ---------- ----------
101 rose 3000 0 4500
102 john 4500 3000 5600
100 jacky 5600 4500 5600

通过上面的例子可以看出这两个函数如何使用.

[@more@]

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

请登录后发表评论 登录
全部评论

注册时间:2010-01-09

  • 博文量
    23
  • 访问量
    83802