https://www.2cto.com/database/201611/562166.html
概述
ORACLE函数系列:
Oracle-分析函数之连续求和sum(…) over(…)
Oracle-分析函数之排序值rank()和dense_rank()
Oracle-分析函数之排序后顺序号row_number()
Oracle-分析函数之取上下行数据lag()和lead()
这两个函数是偏移量函数,可以查出一个字段的上一个值或者下一个值,配合over来使用。
lead函数,这个函数是向上偏移.
lag函数是向下偏移一位.
语法
【语法】
【功能】表示根据COL1分组,在分组内部根据 COL2排序,而这个值就表示每组内部排序后的顺序编号(组内连续的唯一的)
lead () 下一个值 lag() 上一个值
【参数】
EXPR是从其他行返回的表达式 OFFSET是缺省为1 的正数,表示相对行数。希望检索的当前行分区的偏移量 DEFAULT是在OFFSET表示的数目超出了分组的范围时返回的值。exp_str 是要做对比的字段
offset 是exp_str字段的偏移量 比如说 offset 为2 则 拿exp_str的第一行和第三行对比,第二行和第四行,依次类推,offset的默认值为1!
【说明】Oracle分析函数
栗子
404_144@
6
@H_
7
8
9
10
11
12
into@H_403_43@
LEAD_TABLE @H_403_43@
values@H_403_43@
(@H_403_43@
'Case1'@H_403_43@
,@H_403_43@
'Step1'@H_403_43@
sql plain" style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;font-family:Consolas,to_date(@H_403_43@
'20161101'@H_403_43@
'yyyy-mm-dd'@H_403_43@
));@H_403_43@