本文主要向大家介绍了Oracle数据库之lead over 和 lag over,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

今天在熟悉项目的某个功能模块时,查看mybatis的映射文件内发现这样的一串sql:

(T.NET_VALUE - LEAD(T.NET_VALUE)OVER(ORDER BY T.ESTIMATE_DATE DESC, T.NET_VALUE)) / LEAD(T.NET_VALUE) OVER(ORDER BY T.ESTIMATE_DATE DESC,T.NET_VALUE)

因原来进行开发时,并没有用到此函数 所以在网上查询了一点资料 对leadover的解释如下:

Lead分析函数可以在同一次查询中获取第N行后同样字段的数据作为独立的列

换句话说就是通过这个函数能拿到当前列之前的第n条数据

例子:

目前有如下内容的一张表:

复制代码

select rownum rn, temp.*

from (select 1 as id from dual

union

select 2 as id from dual

union

select 3 as id from dual

union

select 4 as id from dual) temp

复制代码

执行之后是这样的result:

再执行以下sql:

复制代码

select t.rn,

lead(t.rn) over(order by t.rn ) as next_val,

from (select rownum rn, temp.*

from (select 1 as id from dual

union

select 2 as id from dual

union

select 3 as id from dual

union

select 4 as id from dual) temp) t;

复制代码

执行完之后result为:

可见函数的返回值是下一条数据的rn这一列

跟lead函数相似的还有lag函数 不过lag函数式获取上一条的数据 跟lead正好相反

这两个函数可以在需要根据某一列的上一条或者下一条数据进行判断的时候派上用场~

本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!

oracle lead() over,Oracle数据库之lead over 和 lag over相关推荐

  1. oracle为什么不用指定数据库,两个数据库怎么保持数据正确显示

    当前位置:我的异常网» Oracle管理 » 两个数据库怎么保持数据正确显示 两个数据库怎么保持数据正确显示 www.myexceptions.net  网友分享于:2015-08-26  浏览:23 ...

  2. oracle实例由,Oracle数据库和实例

    Oracle数据库服务器由一个数据库和至少一个数据库实例组成. 数据库是一组存储数据的文件,而数据库实例是一组管理数据库文件的内存结构. 另外,数据库由后台进程组成. 一个数据库和一个实例是紧密相连的 ...

  3. cmd删除oracle监听,oracle数据库监听删除

    oracle 10G for linux常用命令 oracle 10G for linux常用命令 首先以Oracle用户登录 1. $/oracle/oracle/app/product/101/b ...

  4. linux设置定时备份任务,Linux下Oracle设置定时任务备份数据库的教程

    1.查看数据库的字符集 数据库的字符集必须和linux下设置的环境变量一致,不然会有乱码. 以下两个sql语句都可以查到: select * from nls_database_parameters ...

  5. oracle系统级别启动数据库

    oracle 默认提供了启动脚本 dbstart (但默认不可用) 1.关闭数据库,关闭监听 SQL> shutdown abort [oracle@sq bin]$ lsnrctl stop ...

  6. 从oracle9i/92数据库中导出数据至 oracle 8.1.7 数据库中

    根据ORACLE官方文档的说明,一旦数据库创建后,数据库的字符集是不能改变的.因此,提前考虑自己的数据库将选用哪一种字符集 是十分重要的.数据库字符集选择的一般规则是将数据库字符集设定为操作系统本地字 ...

  7. oracle部署在mysql_Oracle数据库部署实施流程

    作为一个Oracle数据库的DBA,部署一套Oracle数据库属于基本技能,那么完整的部署一套Oracle数据库应该包含哪些内容呢?下面我们来 作为一个Oracle数据库的DBA,部署一套Oracle ...

  8. win7 64位系统oracle客户端访问远程数据库

    今天将win7 64位系统oracle客户端访问远程数据库配置成功,由于我用的是64位的win7操作系统,在网上查了很多资料都说在64位系统下oracle客户端配置很复杂,于是自己亲手试了一下成功了, ...

  9. oracle简易版创建数据库,浅析新建Oracle数据库的三种方法

    1.通过运行Oracle Database Configuration Assistant 创建.配置.或删除数据库(也可在命令行下输入dbca): 2.用命令行的方式建立数据库 3.通过运行自定义的 ...

  10. Oracle 不使用DBCA在Oracle 11中删除数据库

    概述 本博文将介绍如何不使用DBCA(数据库配置助手)在Oracle 11中删除数据库. 1- 导入数据库的SID,如果没有定义的话 export ORACLE_SID=SIDNAME 2- 以操作系 ...

最新文章

  1. linux中sz和rz的使用,在服务器和本地之间传输数据
  2. JavaEE的13种核心技术规范
  3. Wannafly挑战赛17
  4. Windows编程初步(三)【说明:有敏感字眼已全删,不知道为啥还审核不通过】
  5. 统计正数和负数的个数然后计算这些数的平均值_计算机中的二进制原来是这样:原码、反码和补码
  6. vue2.0和better-scroll实现左右联动效果
  7. python图像标记工具怎么用_图像标注教程(使用LabelImg标注工具)
  8. 【历史上的今天】2 月 9 日:世界上第一位计算机科学博士出生;微软发布 Surface Pro;Google Buzz 问世
  9. 1055 mysql_MySQL错误1055
  10. kali nethunter 开启远程桌面
  11. 关于BP神经网络模型的学习思考
  12. 机电照明工程软件测试大纲,2019最新大纲 | 公路水运工程试验检测考试大纲《交通工程》...
  13. 计算机安全技术(第2版)
  14. 1.1 命题逻辑 笔记
  15. 静态网页和动态网页的区别
  16. HTML的奇葩嵌套规则
  17. 一文全面了解光纤连接器
  18. 在冷风中我凌乱了半小时,只因健康码刷不出来
  19. FreeBSD的优缺点分析(转载)
  20. 如何在Controll 获取数据库数据

热门文章

  1. 营收1亿美金的美国软件公司_我如何在60天内损失1亿美元
  2. Java--基于Java编写的数据库加解密工具包(附)GitHub源码
  3. 投资理财-基金基本术语概念整理
  4. 武汉科技大学计算机实验预约系统,实验室与设备管理处
  5. AI智能尺寸测量仪简介(图像尺寸测量仪)
  6. Windows本地域名转接
  7. 解决tensorflow2.x中使用tf.contrib.slim包时出现的No module named:tensorflow.contrib 问题
  8. 微信小游戏破解(2)之《我要猫咪》
  9. mac远程桌面windows
  10. Leetcode237之删除链表中的节点