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

SQL做分组数值乘法时报group by聚合错误的问题求助

问题原因

你写的查询存在两处错误:

  • 子查询中用count(*)统计的是每个分类的行数,不是value字段的总和,不符合需求
  • 外层查询冗余的group by 1语句:子查询已经按let_sub_area分组,和table2关联后每个区域仅对应一条结果,不需要再次分组,额外的分组会触发聚合规则校验错误

正确查询语句

select 
  t2.sub_area, 
  t1.total * t2.percentage as percent_share
from table2 as t2
join (
  select let_sub_area, sum(value) as total
  from table1
  group by let_sub_area
) as t1 on t1.let_sub_area = t2.sub_area
order by 2

结果验证

  • L1分类value总和:2500 + 500 = 3000,乘以对应百分比0.05得到结果150
  • L2分类value总和:250 + 400 = 650,乘以对应百分比0.1得到结果65
    和你期望的输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:15:03