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

PostgreSQL中对相同Plan No.的Weight求和并新增totalwight列的实现

实现需求的PostgreSQL查询语句

你可以通过两种方式实现这个需求,其中窗口函数是最简洁高效的方案:

方法一:窗口函数(推荐)

利用SUM()窗口函数按Plan No.分组计算总和,每条记录都会展示对应分组的重量总和:

SELECT 
    "Plan No.",
    Weight,
    SUM(Weight) OVER (PARTITION BY "Plan No.") AS totalwight
FROM plan;

说明

  • PARTITION BY "Plan No." 表示将数据按Plan No.字段分组
  • SUM(Weight) OVER(...) 会计算每个分组内Weight的总和,并将该值填充到对应分组每条记录的totalwight列中

方法二:子查询关联

如果你的PostgreSQL版本较低(不支持窗口函数),可以先通过子查询计算每个Plan No.的总重量,再和原表关联:

SELECT 
    p."Plan No.",
    p.Weight,
    t.totalwight
FROM plan p
JOIN (
    SELECT 
        "Plan No.",
        SUM(Weight) AS totalwight
    FROM plan
    GROUP BY "Plan No."
) t ON p."Plan No." = t."Plan No.";

两种方式都能得到你期望的查询结果,窗口函数的执行效率更高,代码也更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:10:07