如何让数据表每行的列值等于quantity字段全表求和的计算值
实现方案
以下是不同场景下的实现方式:
1. SQL 实现
如果是在支持窗口函数的数据库(MySQL 8.0+、PostgreSQL、Hive等),直接使用窗口函数即可实现,写法简洁高效:
SELECT name, SUM(quantity) OVER () AS sum_quantity FROM 你的表名;
如果是不支持窗口函数的低版本数据库,可通过子查询计算总和后关联实现:
SELECT t1.name, t2.total AS sum_quantity FROM 你的表名 t1 CROSS JOIN (SELECT SUM(quantity) AS total FROM 你的表名) t2;
2. Pandas(Python)实现
import pandas as pd # 构造示例数据 df = pd.DataFrame({ "name": ["bike1", "bike2", "bike3"], "quantity": [1, 2, 3] }) # 新增sum_quantity列,所有行赋值为quantity列总和 df = df.assign(sum_quantity = df["quantity"].sum())[["name", "sum_quantity"]]
3. Excel 实现
- 先找空白单元格计算所有quantity的总和,比如在C2单元格输入公式
=SUM(B:B)(假设quantity列在B列 - 所有行的sum_quantity列直接引用这个计算好的单元格即可,注意加绝对引用符号
$,公式写为=$C$2,下拉填充所有行即可。
内容的提问来源于stack exchange,提问作者patrick_star
相关产品推荐
相关产品推荐

