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

如何按年份执行Pivot操作并仅获取2020年的金额总和?

嘿,这个需求其实挺常见的,我分几个常用工具给你说具体怎么实现,你看你用哪个工具就对应着来:

在Excel中实现

  • 第一步:选中你的数据区域(要包含年份列和金额列哦)
  • 第二步:点击「插入」选项卡中的「数据透视表」,跟着提示确认透视表的放置位置就行
  • 第三步:在弹出的「数据透视表字段」面板里做这两步操作:
    • 把「年份」字段拖到「筛选器」区域
    • 把「金额」字段拖到「值」区域,默认一般是求和,要是不是的话右键值字段选「值字段设置」改成求和就行
  • 第四步:在透视表的「年份」筛选器里选中2020,这样就只会显示2020年的金额总计了

在SQL中实现

假设你的表名叫your_table,年份列是year_col,金额列是amount,分两种场景给你代码:

场景一:必须用Pivot语法(比如需要保留透视表结构但只取2020)

如果是SQL Server这类支持原生Pivot的数据库:

SELECT [2020] AS 2020年金额总计
FROM (
    SELECT year_col, amount
    FROM your_table
) AS src
PIVOT (
    SUM(amount)
    FOR year_col IN ([2020]) -- 这里只指定2020,透视后就只有这一列
) AS pvt;

如果是MySQL(没有原生Pivot),用条件聚合模拟:

SELECT SUM(CASE WHEN year_col = 2020 THEN amount ELSE 0 END) AS 2020年金额总计
FROM your_table;

场景二:只需要2020的总计(不用复杂透视)

这种情况直接筛选后求和更简单:

SELECT SUM(amount) AS 2020年金额总计
FROM your_table
WHERE year_col = 2020;

在Python Pandas中实现

假设你的数据存在DataFramedf里,年份列是year,金额列是amount:

import pandas as pd

# 方法一:用pivot_table生成透视表后取2020年数据
pivot_result = df.pivot_table(values='amount', columns='year', aggfunc='sum')
total_2020 = pivot_result[2020].iloc[0]
print(f"2020年金额总计:{total_2020}")

# 方法二:先筛选2020年数据再求和(效率更高)
total_2020 = df.loc[df['year'] == 2020, 'amount'].sum()
print(f"2020年金额总计:{total_2020}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 13:32:47