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

如何为数据表添加重复显示销售总额的total列

为数据表添加sales总和列的实现方案

原始数据表

item_id  sales
   1      10
   2      30
   3      70

需求说明

为上述表新增total列,该列每行的值均为sales列的总和(示例中总和为110),最终输出如下:

item_id  sales  total
   1      10     110
   2      30     110
   3      70     110

实现方法

方法1:窗口函数(推荐,适用于MySQL 8.0+、PostgreSQL、SQL Server等)

利用窗口函数SUM() OVER ()直接计算整张表的sales总和,无需分组:

SELECT 
  item_id,
  sales,
  SUM(sales) OVER () AS total
FROM your_table_name;

方法2:子查询(兼容低版本数据库)

通过子查询单独计算sales总和,再用交叉连接将结果与原表每行关联:

SELECT 
  t.item_id,
  t.sales,
  s.total_sales AS total
FROM your_table_name t
CROSS JOIN (SELECT SUM(sales) AS total_sales FROM your_table_name) s;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 22:07:04