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

SQL使用SUM和GROUP BY分组统计得到全局总和而非分组和问题排查

错误原因

编写的SQL使用隐式交叉连接未指定两表关联条件,生成笛卡尔积后统计结果出错:

  • 写法from book,buyer缺少book.title = buyer.title的关联条件,会将book表的4条数据与buyer表的5条数据全量两两拼接,生成20条临时数据,在此基础上分组求和的结果自然不符合预期。
修复方案

推荐使用规范的显式JOIN写法,避免漏写关联条件的问题:

SELECT b.name, SUM(k.price) AS sum_price
FROM buyer b
INNER JOIN book k ON b.title = k.title
GROUP BY b.name;

如果要沿用隐式连接的写法,补充关联条件即可:

SELECT name, SUM(price) sum_price
FROM book,buyer
WHERE book.title = buyer.title
GROUP BY name;
运行结果

针对提供的测试数据,执行修复后的语句输出结果如下:

namesum_price
kim300
ca100
yan400

和每个用户购书总金额的统计需求完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:15:03