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

MySQL使用GROUP BY的查询中特定列返回空结果问题咨询

问题原因分析
  • 核心问题出在分组查询的写法不符合SQL逻辑规范:你的查询使用GROUP BY month, year, postal将相同年月、相同邮编的记录合并为一行,但SELECT子句中直接引用了value_bezoeken、value_verkocht、type三个未参与分组也没有被聚合函数包裹的字段。
  • 在MySQL关闭了ONLY_FULL_GROUP_BY sql_mode的前提下,数据库会默认取分组内的第一条记录返回。你的数据中同个分组下type = 'bezoeken'的记录排在type = 'verkocht'之前,所以返回的都是type = 'bezoeken'行的内容,而这类行本身的value_verkocht字段就是空值,最终查询结果的sum_verkocht列就全为空。
修正后的查询写法

要同时获取同一分组下两种type对应的数值,需要用条件聚合的方式查询,参考写法如下:

SELECT 
  MAX(CASE WHEN type = 'bezoeken' THEN value_bezoeken END) AS sum_bezoeken,
  MAX(CASE WHEN type = 'verkocht' THEN value_verkocht END) AS sum_verkocht,
  postal, 
  month, 
  year
FROM results 
WHERE admin_user_id = 1 
GROUP BY month, year, postal;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:15:00