SQL 数据库 如何实现第一行字段A减字段B得到值C,然后再用C减去第二行字段B

   日期:2020-09-06     浏览:161    评论:0    
核心提示:SQL 数据库 如何实现第一行字段A减字段B得到值C,然后再用C减去第二行字段B现在是需要现第一行字段A减字段B得到值C,然后再用C减去第二行字段B即这样的效果:实现思路:做一个累计变量:这样我们就可以直接使用字段A减去累计字段B 就可以得到我们想要的效果了SQL实现:...

SQL 数据库 如何实现第一行字段A减字段B得到值C,然后再用C减去第二行字段B

现在是需要现第一行字段A减字段B得到值C,然后再用C减去第二行字段B

即这样的效果:

实现思路:

做一个累计变量:

这样我们就可以直接使用字段A减去累计字段B   就可以得到我们想要的效果了

SQL实现:

这个表作为temp1

第一步:将数据排序

SELECt
A,
B,
ROW_NUMBER() OVER(ORDER BY  B DESC) AS rank
FROM temp1

得到如下结果表 TB_OP_TestOut :

第二步:表TB_OP_TestOut 自关联,关联条件A.rank>=B.rank

SELECt 
A.A,
A.B,
SUM(B.B) AS CountB,
A.A-SUM(B.B) AS C
FROM TB_OP_TestOut A
LEFT JOIN TB_OP_TestOut B ON A.rank>=B.rank
GROUP BY 
A.rank

 

详细步骤解释:

自关联数据之后:

根据Arank分组,求累计字段:

直接用A-CountB字段的结果 就是我们想要的效果了

 

 

 

 

 

 

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服