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

MySQL使用GROUP BY分组SUM求和时查询结果不符合预期

问题原因
  • 你需要求和的no_of_tp_assigned、no_of_thd_assigned两个字段未添加SUM聚合函数,直接放在了SELECT查询列表中。
  • MySQL的GROUP BY逻辑要求:所有未出现在GROUP BY子句中的非聚合字段,必须使用聚合函数包裹。如果未遵循该规则,在关闭ONLY_FULL_GROUP_BY校验的宽松模式下,会随机返回分组内某一条记录的对应字段值,你得到的就是分组内首行的no_of_tp_assigned、no_of_thd_assigned值,而非全部分组记录的求和结果。
解决方案

将所有需要求和的字段全部添加SUM聚合函数,调整后的查询语句如下:

SELECT
  vtt.trai_name,
  vtt.trainer_province,
  SUM(vtt.no_of_tp_assigned) AS no_of_tp_assigned,
  SUM(vtt.no_of_thd_assigned) AS no_of_thd_assigned,
  SUM(vtt.total_training_count) AS total_training_count,
  SUM(vtt.total_amount) AS total_amount
FROM v_test_tt vtt
GROUP BY
  vtt.trai_name,
  vtt.trainer_province

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 00:45:08