sql中根据时间递增将表的A字段赋值给下一条数据B字段

未请多指教 2014-12-23 02:48:42
时间 期初 期末

20141212 0 -2
20141213 0 -9
20141214 0 -14
20141218 0 -15

需要将数据展示成

时间 期初 期末

20141212 0 -2
20141213 -2 -9
20141214 -9 -14
20141218 -14 -15

...全文
272 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bw555 2014-12-23
  • 打赏
  • 举报
回复
如果只是查询的话可以使用lag
select 时间,LAG(期末,1,0)OVER(ORDER BY 时间) 期初,期末
from T
ORDER BY 时间
bw555 2014-12-23
  • 打赏
  • 举报
回复
update T T1
SET  期初=(SELECT max(期末)keep(dense_rank last order by 时间) FROM T WHERE 时间<T1.时间)

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧