分析函数——lead与lag

来源:互联网 发布:centos查看网卡状态 编辑:程序博客网 时间:2024/05/19 18:17

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

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

原创粉丝点击