oracle 字段上下两条记录的相减 oracle计算两行差值

Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。现在使用Lag函数将CreateAt列,平移添加另一列Last_CreateAt,这里不是简单的平移而是把CreateAt的第一行作为了Last_CreateAt的第二行,这样的话,我们将CreateAt-Last_CreateAt就得到了两行之间的差值了

oracle 字段上下两条记录的相减

SELECT T.ID ,BALANCE,
nvl(lag (BALANCE,1) over (order by T.ID ) ,0)
FROM AN T
ORDER BY T.ID 

Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。

这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。

SELECT col_1,col_2,col_2-LAG(col_2,1,0)OVER(ORDER BY B) AS C

实例:

SELECT 入院日期,出院日期,出院日期-LAG(入院日期,1,0)OVER(ORDER BY 主页ID desc) AS 相差值
from 测试表
oracle 字段上下两条记录的相减 oracle计算两行差值

现在使用Lag函数将CreateAt列,平移添加另一列Last_CreateAt,这里不是简单的平移而是把CreateAt的第一行作为了Last_CreateAt的第二行,这样的话,我们将CreateAt-Last_CreateAt就得到了两行之间的差值了

0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论