分析函数——lead与lag的用法。

来源:互联网 发布:中央空调控制系统软件 编辑:程序博客网 时间:2024/06/14 06:56
分析函数——lead与lag的用法。

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

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


create table temp_a (a varchar(10),b varchar(10),c varchar(10),d varchar(10));
insert into temp_a values('1','100','102','103');
insert into temp_a values('2','200','202','203');
insert into temp_a values('3','300','302','303');
insert into temp_a values('4','400','402','403');
commit;

SQL> select a,b,c,d,lag(d) over (order by d) lag,lead(d) over (order by d) lead from temp_a;

A B C D LAG LEAD
---------- ---------- ---------- ---------- ---------- ----------
1 100 102 103 203
2 200 202 203 103 303
3 300 302 303 203 403
4 400 402 403 303 
SQL> select a,b,c,d,lag(d,1,0) over (order by d) lag,lead(d,1,d) over (order by d) lead from temp_a;

A B C D LAG LEAD
---------- ---------- ---------- ---------- ---------- ----------
1 100 102 103 0 203
2 200 202 203 103 303
3 300 302 303 203 403
4 400 402 403 303 403

SQL>

原创粉丝点击