oracle 的分析函数是非常好的一个功能,借助它们,我们可以很方便的实现一些特殊的语句需求,省去了自己实现的诸多麻烦。

 今天用到了lag 和lead 这两个分析函数,稍稍整理一下。

lag 和lead 可以 获取结果集中,按一定排序所排列的当前行的上下相邻若干offset 的某个行的某个列(不用结果集的自关联);
lag ,lead 分别是向前,向后;
lag 和lead 有三个参数,第一个参数是列名,第二个参数是偏移的offset,第三个参数是 超出记录窗口时的默认值)

举例如下:

SQL> select *  from kkk;                                          
                                                                  
        ID NAME                                                   
---------- --------------------                                   
         1 1name                                                  
         2 2name                                                  
         3 3name                                                  
         4 4name                                                  
         5 5name                                                  
                                                                  
SQL> select id,name,lag(name,1,0) over ( order by id )  from kkk; 
                                                                  
        ID NAME                 LAG(NAME,1,0)OVER(ORDERBYID)      
---------- -------------------- ----------------------------      
         1 1name                0                                 
         2 2name                1name                             
         3 3name                2name                             
         4 4name                3name                             
         5 5name                4name                             
                                                                  
SQL> select id,name,lead(name,1,0) over ( order by id )  from kkk;
                                                                  
        ID NAME                 LEAD(NAME,1,0)OVER(ORDERBYID)     
---------- -------------------- -----------------------------     
         1 1name                2name                             
         2 2name                3name                             
         3 3name                4name                             
         4 4name                5name                             
         5 5name                0                                 
                                                                  
SQL>  
SQL> select id,name,lead(name,2,0) over ( order by id )  from kkk;                                                            
                                                                  
        ID NAME                 LEAD(NAME,2,0)OVER(ORDERBYID)     
---------- -------------------- -----------------------------     
         1 1name                3name                             
         2 2name                4name                             
         3 3name                5name                             
         4 4name                0                                 
         5 5name                0                                 
                                                                  
SQL> 
SQL> select id,name,lead(name,1,'alsdfjlasdjfsaf') over ( order by id )  from kkk;                                                             
                                                                                  
        ID NAME                 LEAD(NAME,1,'ALSDFJLASDJFSAF')                    
---------- -------------------- ------------------------------                    
         1 1name                2name                                             
         2 2name                3name                                             
         3 3name                4name                                             
         4 4name                5name                                             
         5 5name                alsdfjlasdjfsaf                                   
                                                                                  
SQL>

lag和lead 分析函数相关推荐

  1. oracle下lag和lead分析函数

    Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列. 这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率. 语法: [sql ...

  2. mysql lag和lead_Oracle的LAG和LEAD分析函数

    Oracle的LAG和LEAD分析函数 Lag函数可以在一次查询中取出当前行的同一字段的前面第N行的数据. Lead 函数可以在一次查询中取出当前行的同一字段的后 面第 N行的. 这种操作可以使用对相 ...

  3. LAG()和LEAD() 分析函数详解

    Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列. 在实际应用当中,若要用到取今天和昨天的某字段差值时,Lag和Lead函数的应用就 ...

  4. oracle的LAG和LEAD分析函数

    Lag和Lead函数可以在一次查询中取出同一字段的前N行的数据和后N行的值.这种操作可以使用对相同表的表连接来实现,不过使用LAG和LEAD有更高的效率. lag的语法如下: lead的语法如下: l ...

  5. 【分析函数】Oracle分析函数之LAG和LEAD

    [分析函数]Oracle分析函数之LAG和LEAD Lag和Lead函数可以在一次查询中取出同一字段的前N行的数据和后N行的值.这种操作可以使用对相同表的表连接来实现,不过使用LAG和LEAD有更高的 ...

  6. Oracle-分析函数之取上下行数据lag()和lead()

    概述 ORACLE函数系列: Oracle常见函数大全 Oracle-分析函数之连续求和sum(-) over(-) Oracle-分析函数之排序值rank()和dense_rank() Oracle ...

  7. Hive学习之路 (十六)Hive分析窗口函数(四) LAG、LEAD、FIRST_VALUE和LAST_VALUE

    数据准备 数据格式 cookie4.txt cookie1,2015-04-10 10:00:02,url2 cookie1,2015-04-10 10:00:00,url1 cookie1,2015 ...

  8. oracle lead_lag wm_concat,oracle函数 lag()和lead()

    [语法] lag(EXPR,,) LEAD(EXPR,,) [功能]表示根据COL1分组,在分组内部根据 COL2排序,而这个值就表示每组内部排序后的顺序编号(组内连续的唯一的) lead () 下一 ...

  9. lag与lead函数

    lag与lead函数 是跟偏移量相关的两个分析函数,通过这两个函数可以再一次查询中取出同一字段的前N行数据(lag)和 后N行的数据(lead)做为独立的列,从而更方便的进行数据过滤.这种操作可以代替 ...

最新文章

  1. react取消所有请求_React Hooks中取消HTTP请求来避免内存泄漏
  2. OpenSSL“心脏出血”漏洞
  3. Linux程序内存跟踪,分享一款Linux进程和内存活动监视神器
  4. PyTorch-模型可视化工具TorchSummary
  5. mysql设计一个简单的系统_一个简单数据库设计例子
  6. java运行环境jdk的安装和环境变量的配置
  7. Flutter学习笔记(10)--容器组件、图片组件
  8. 计算机硬件故障处理及维护,计算机硬件故障处理与维护方法
  9. 接口框架 python+unittest+request+HTMLTestRunner
  10. POJ 3133 Manhattan Wiring(插头DP)
  11. powerdesigner 连接数据库
  12. 图的存储结构-十字链表
  13. Fatal error in launcher解决方法
  14. vba 添加outlook 签名_如何在Office 365中为VBA宏创建自签名数字证书
  15. IDEA开发工具删除代码注释
  16. 坐标旋转变换 公式图解
  17. [日常训练] 联络网
  18. JavaScript实现淘宝商品展示(鼠标放在小图片上,上面会出现相应的大图片)
  19. Fast-MoCo: Boost Momentum-based Contrastive Learning with Combinatorial Patches
  20. 207399-07-3,IR-780;IR-808;1558079-49-4,IR-825

热门文章

  1. go语言,安装包fetch error 问题解决方案
  2. 三级联动数据库添加html,前端jQuery最新省市区三级联动插件,包含sql数据库
  3. 关于 Safari 无法下载 pdf 文件的问题
  4. 创建一个angular7加GN-ZORRO的工程
  5. 排队叫号 服务器 不同区域显示,银行排队叫号系统,让你摆脱排队久的问题!...
  6. Python语言参考手册
  7. 网易云音乐真的是随机播放吗
  8. TICC- TimeSeries Analyze
  9. 更改计算机名蓝屏,新机型win10改win7系统开机出现蓝屏代码0X000000a5解决方法
  10. 2022年最新全国各省五级行政区划代码及名称数据(省-市-区县-乡镇-村)