oracle中想取对应列前几行或者后几行的数据时可以使用lag和lead分析函数

lag:是滞后的意思,表示本行数据是要查询的数据后面,即查询之前行的记录。

lead:是领队的意思,表示本行数据是要查的数据前面,即查询之后的记录。

语法如下

lag(exp_str,offset,defval) over(order by col_list)
Lead(exp_str,offset,defval) over(order by col_list)
-- exp_str:表示列名
-- offset :表示移动行数,默认为1
-- defval :当没有满足条件的数据时,的默认值
-- 其中over中的 order by是必填参数

示例:

--第一列,empno往前2行的值,如果没有就显示0
--第二列,empno的值
--第三列,empno往后2行的值,如果没有就显示0
SELECT lag(empno, 2, 0) over(ORDER BY empno) empno_lag,
empno,
lead(empno, 2, 0) over(ORDER BY empno) empno_lead
FROM emp

结果:

最新文章

  1. samsung bios configuration怎么设置U盘启动
  2. JS 4 新特性:混合属性(mixins)
  3. mongoDB在centos7上的安装
  4. 慕课网-安卓工程师初养成-6-5 使用循环操作 Java 中的数组
  5. Cannot merge new index 67361 into a non-jumbo instruction
  6. Codeforces Round #218 (Div. 2) B. Fox Dividing Cheese
  7. 51nod1431 快乐排队
  8. su: /bin/bash: Permission denied
  9. img标签块状与内联的博弈
  10. 火狐浏览器对border-radius的渲染问题
  11. c/c++ 算法之快速排序法 冒泡排序法,选择排序法,插入排序法
  12. WebService第二天
  13. php中常用的字符串截取函数mb_substr实例解释
  14. mouseover,mouseout和mouseenter,mouseleave的区别及适用情况
  15. iview服务不可以被访问解决办法
  16. VMware vCenter Server 6.5安装
  17. PHP面向对象初中高级之由浅入深
  18. Java 枚举那点事
  19. 安卓开发神器vysor+adb wifi
  20. Oracle 程序中超好用的日志记录TYPE,可以直接Copy使用

热门文章

  1. 记录一次因subprocess PIPE 引起的线上故障
  2. 大爽Python入门教程 1-4 习题
  3. 深入理解Spring IOC源码分析
  4. 菜鸡的Java笔记 第十二 - java 构造方法与匿名对象
  5. Serverless 下的微服务实践
  6. [atARC124F]Chance Meeting
  7. [poj2505]A multiplication game
  8. ound interface org.elasticsearch.common.bytes.BytesReference, but class was expected
  9. tomcat进行远程debug
  10. [spring-core]作用域