加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ORACLE分析函数 lag lead

发布时间:2020-12-12 16:05:24 所属栏目:百科 来源:网络整理
导读:Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。 这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。 语法: [sql] view plain copy /*语法*/ lag(exp_str,offset,defval)over() Lead(exp_str,

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

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

语法:

[sql] view plain copy
  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.

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

3.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读