开发中经常用到当前行数据需要和临近行数据进行逻辑处理,这时跨行引用就派上了用场,注意以下结果中PREV_SAL的值:
--LAG分析函数,延后取数,在不使用自联接的情况下同时提供对表的多行数据的访问SELECT hire_date,last_name,salary,LAG(salary,1,0) OVER (ORDER BY hire_date) AS prev_sal FROM employees WHERE job_ID = ‘PU_CLERK‘ ORDER BY hire_date;执行结果: HIRE_DATE LAST_name SALARY PREV_SAL--------- ------------------------- ---------- ----------18-MAY-03 Khoo 3100 024-Jul-05 Tobias 2800 310024-DEC-05 BaIDa 2900 280015-NOV-06 Himuro 2600 290010-AUG-07 Colmenares 2500 2600
--LEAD分析函数,向前取数SELECT hire_date,LEAD(hire_date,1) OVER (ORDER BY hire_date) AS "NextHired" FROM employees WHERE department_ID = 30 ORDER BY hire_date;执行结果:HIRE_DATE LAST_name Next Hired--------- ------------------------- ----------07-DEC-02 Raphaely 18-MAY-0318-MAY-03 Khoo 24-Jul-0524-Jul-05 Tobias 24-DEC-0524-DEC-05 BaIDa 15-NOV-0615-NOV-06 Himuro 10-AUG-0710-AUG-07 Colmenares总结
以上是内存溢出为你收集整理的Oracle-函数-偏移取值(跨行引用)全部内容,希望文章能够帮你解决Oracle-函数-偏移取值(跨行引用)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)