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

如何实现从当前行开始的行级值向后聚合求和

反向累计求和(当前行至末行的VALUE总和)

原始数据表

IDVALUE
1200
2300
3100
450
51000
620

期望输出

IDVALUEAGG_VAL
12001670
23001470
31001170
4501070
510001020
62020

以下是几种常用工具的实现方案:

SQL 实现(适用于MySQL 8.0+/PostgreSQL/SQL Server等支持窗口函数的数据库)

利用窗口函数SUM() OVER()指定窗口范围为当前行至末行:

SELECT 
    ID,
    VALUE,
    SUM(VALUE) OVER (ORDER BY ID ASC ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS AGG_VAL
FROM your_table
ORDER BY ID ASC;

Python Pandas 实现

通过反转序列后累计求和再反转回来,或者直接用反向扩展窗口求和:

import pandas as pd

# 构造数据
df = pd.DataFrame({
    'ID': [1,2,3,4,5,6],
    'VALUE': [200,300,100,50,1000,20]
})

# 方法1:反转后累计求和再反转
df['AGG_VAL'] = df['VALUE'][::-1].cumsum()[::-1]

# 方法2:反向扩展窗口求和
# df['AGG_VAL'] = df['VALUE'].iloc[::-1].expanding().sum().iloc[::-1]

print(df)

Excel 实现

假设数据从A1单元格开始(A1为ID表头,B1为VALUE表头),在C2单元格输入以下公式后下拉填充:

=SUM(B2:$B$7)

内容的提问来源于stack exchange,提问作者Sayandip Ghatak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 18:50:25