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

如何对单列求和后按求和列分组?附数据表及预期结果示例

实现单列全局求和并填充到每行的方法

你需要的是计算整列的总和,然后将该总和作为新列的值填充到每一行中,不需要按列分组(分组会聚合行数据,不符合你保留原行的需求)。以下是几种主流数据库的实现方式:

  • MySQL/MariaDB
    两种写法任选其一,窗口函数需MySQL 8.0及以上版本支持:

    -- 子查询方式
    SELECT 
      `Col A`,
      (SELECT SUM(`Col A`) FROM your_table) AS `Col B`
    FROM your_table;
    
    -- 窗口函数方式
    SELECT 
      `Col A`,
      SUM(`Col A`) OVER() AS `Col B`
    FROM your_table;
    
  • SQL Server

    -- 子查询方式
    SELECT 
      [Col A],
      (SELECT SUM([Col A]) FROM your_table) AS [Col B]
    FROM your_table;
    
    -- 窗口函数方式
    SELECT 
      [Col A],
      SUM([Col A]) OVER() AS [Col B]
    FROM your_table;
    
  • PostgreSQL

    -- 子查询方式
    SELECT 
      "Col A",
      (SELECT SUM("Col A") FROM your_table) AS "Col B"
    FROM your_table;
    
    -- 窗口函数方式
    SELECT 
      "Col A",
      SUM("Col A") OVER() AS "Col B"
    FROM your_table;
    

说明

  • 子查询方式:先单独计算整列的总和,再将该值与原表所有行关联,实现每行填充总和。
  • 窗口函数SUM() OVER():不带分区条件时,会计算整个结果集的总和,自动将该值填充到每一行的新列中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:29:59