Oracle下lag和lead分析函数

来源:互联网 发布:怎样学好高中政治知乎 编辑:程序博客网 时间:2024/05/19 18:42

[转自] http://blog.csdn.net/thinkscape/article/details/8290894


LeadLag分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。

这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。

语法:

/*语法*/lag(exp_str,offset,defval) over()Lead(exp_str,offset,defval) over()--exp_str要取的列--offset取偏移后的第几行数据--defval:没有符合条件的默认值


1.

    /*基础数据*/      select t.* from test1 t;  



2.

    /*用lag,lead分析以后的数据*/      select t.id, lag(t.name,1,0) over(order by id desc) max_v, t.name,        lead(t.name,1,0) over(order by id desc) min_v      from TEST1 t;  



0 0
原创粉丝点击