-- 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年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶...