ORACLE分析函数 lag lead

前端之家收集整理的这篇文章主要介绍了ORACLE分析函数 lag lead前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

语法:@H_301_7@

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

1.
copy
    /*基础数据*/
  1. selectt.*fromtest1t;

2.@H_301_7@

copy
    /*用lag,lead分析以后的数据*/
  1. selectt.id,lag(t.name,1,0)over(orderbyiddesc)max_v,t. lead(t.desc)min_v
  2. fromTEST1t;

3.@H_301_7@

copy
    /*满足查询结果的数据*/
  1. selecti.*from(fromTEST1t)iwherei.name='3aa';

猜你在找的Oracle相关文章