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

如何使用MySQL实现每行展示对应分类的数值总和

方案1:MySQL 8.0+ 最优实现(窗口函数)

直接使用窗口聚合函数即可实现按region分组计算总和并关联到每一行,写法最简单性能最优:

SELECT 
  store,
  region,
  sales,
  SUM(sales) OVER (PARTITION BY region) AS `total sales`
FROM 你的表名;

说明:OVER (PARTITION BY region) 会指定按region字段分组计算SUM聚合结果,每组的所有行都会返回相同的分组总和。

方案2:MySQL 5.x 兼容实现(子查询关联)

低版本MySQL不支持窗口函数,可以先通过子查询预计算每个region的销售总和,再和原表关联得到结果:

SELECT 
  t1.store,
  t1.region,
  t1.sales,
  t2.total_sales AS `total sales`
FROM 你的表名 t1
LEFT JOIN (
  SELECT region, SUM(sales) AS total_sales 
  FROM 你的表名 
  GROUP BY region
) t2 ON t1.region = t2.region;

说明:如果region字段建有索引,该写法的执行效率和窗口函数版本没有明显差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 19:36:03