oracle – 如何在条件下找到两行之间的差异

oracle – 如何在条件下找到两行之间的差异,第1张

概述name point----------steve 207Mary 203steve 205steve 200steve 139Mary 300 我想得到条件eqn = [(第1行) – 行]的行之间的差异,其中name = steve,所以我理想地希望它是, steve 2 //207 - 0steve 5 /
name      point----------steve     207Mary      203steve     205steve     200steve     139Mary      300

我想得到条件eqn = [(第1行) – 行]的行之间的差异,其中name = steve,所以我理想地希望它是,

steve 2   //207 - 0steve 5   //205 - 207steve 61  //200 - 205steve 139 //139 - 200

有代码可以找到连续行之间的差异.但是添加条件时它不起作用.

解决方法 编辑到期OP评论我已更改查询以完全符合您的请求.

LAG可以帮助您:

select name,coalesce(         point - lag( point,1,Null ) over (order by point),point)    as diff,point || '-' ||    LEAD( point,0 ) over (order by point) as prev_point  from t     where name = 'steve'    order by point desc

Results:

|  name | DIFF | PREV_POINT |-----------------------------| steve |    2 |      207-0 || steve |    5 |    205-207 || steve |   61 |    200-205 || steve |  139 |    139-200 |
总结

以上是内存溢出为你收集整理的oracle – 如何在条件下找到两行之间的差异全部内容,希望文章能够帮你解决oracle – 如何在条件下找到两行之间的差异所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1165855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存