lag()是一个分析函数,oracle 8i引入的,8i以后的版本都可用。
用此函数,你可以一次性从表中查询多条数据,而不需要将此表自连接。
它返回表中的当前行的前offset行的指定列值。
语法:
lag ( expression [, offset [, default] ] )
over ( [ query_partition_clause ] order_by_clause )
expression :可以包含oracle内置函数,但不能是任何分析函数。
offset :可选参数,是表中与当前行的物理偏移度,如果省略,默认值为1,
既当前行的前offset行。
default :可选参数,如果offset参数指向超出了表的范围,就返回这个值,默认值为null。
我们来看下面的实例: