使用DBeaver 23.3.3时SQL聚合异常问题及修复方案咨询
解决SQL聚合未正确分组的问题
你的查询未正确聚合的核心原因是GROUP BY子句错误包含了orders字段。
原始查询里,orders是通过sum(orders)生成的聚合别名,但你在GROUP BY中引用了原始表的orders字段——原始表中同一weeknum和year下存在不同的orders值(比如0和25),这会让数据库按原始orders值拆分分组,导致同一周/年的记录被分成多条。
修复后的查询语句
select weeknum, year, coalesce(sum(orders), 0) as orders, coalesce(sum(fc), 0) as fc from table_1 group by weeknum, year
说明
仅保留weeknum和year作为分组维度,数据库会将同一周、同一年的所有记录合并,计算对应的总订单数和fc值,最终得到你期望的聚合结果。
注意:GROUP BY子句仅需包含用于分组的非聚合字段,不要加入聚合函数生成的别名或会破坏分组逻辑的字段。
内容的提问来源于stack exchange,提问作者hdeguzm
相关产品推荐
相关产品推荐

