-- Oracle下LAG和LEAD分析函数
-- Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。
-- 这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。
/* 语法 */
-- LAG(EXP_STR,OFFSET,DEFVAL) OVER()
-- LEAD(EXP_STR,OFFSET,DEFVAL) OVER()
-- EXP_STR要取的列
-- OFFSET取偏移后的第几行数据
-- DEFVAL:没有符合条件的默认值
-- lag与lead函数是跟偏移量相关的两个分析函数,
-- 通过这两个函数我们可以取到当前行列的偏移N行列的值 lag可以看着是正的向上的偏移 lead可以认为负的向下的偏移
SELECT T.ID
,LAG(T.NAME) OVER(ORDER BY ID) MIN_V_01
,LAG(T.NAME,1,0) OVER(ORDER BY ID DESC) MAX_V
,T.NAME
,LEAD(T.NAME,1,0) OVER(ORDER BY ID DESC) MIN_V
FROM (
SELECT 1 ID ,'1AA' NAME FROM DUAL
UNION ALL
SELECT 2 ,'2AA' FROM DUAL
UNION ALL
SELECT 3 ,'3AA' FROM DUAL
UNION ALL
SELECT 4 ,'4AA' FROM DUAL
UNION ALL
SELECT 5 ,'5AA' FROM DUAL
UNION ALL
SELECT 6 ,'6AA' FROM DUAL) T
Oracle下LAG和LEAD分析函数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 【蝴蝶效应】 蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶...