You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在累计和为正值时停止SQL累计求和计算

实现带停止条件的累计求和功能

Excel 实现方法

假设你的AR列在A列,ADV列在B列,Net列从C2开始:

  • 第一行(C2)输入公式:=A2+B2
  • 第二行(C3)输入公式:=IF(C2>0,"",C2+A3+B3)
  • 选中C3单元格,下拉填充至所有行。公式会自动判断:如果前一行累计结果为正,当前及后续行就留空,否则继续累加。

Python Pandas 实现方法

如果用代码处理数据集,以下是基于pandas的实现逻辑:

import pandas as pd

# 替换成你的实际数据集
df = pd.DataFrame({
    'AR': [-100, -50, 30, -20, 150],
    'ADV': [50, 20, 40, 60, -10]
})

# 计算每行的AR+ADV基础值
df['Net'] = df['AR'] + df['ADV']

cumulative = 0
stop_flag = False

for idx, val in enumerate(df['Net']):
    if not stop_flag:
        cumulative += val
        if cumulative > 0:
            stop_flag = True
            df.loc[idx, 'Net'] = cumulative
            # 后续行全部设为空
            df.loc[idx+1:, 'Net'] = None
        else:
            df.loc[idx, 'Net'] = cumulative
    else:
        df.loc[idx, 'Net'] = None

print(df)

这段代码会先计算每行的初始和,然后逐行累加,一旦累计值变为正数,就停止后续所有行的计算并设为空值。

内容的提问来源于stack exchange,提问作者Satria Setya Arissandy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 02:03:20