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

SQL按日期分组查询返回结果与预期不符问题排查

问题分析与解决

原查询问题

你当前的SQL查询存在逻辑错误:

SELECT DATE, Feeling, COUNT(Feeling)
From Table
GROUP BY DATE
  • 当GROUP BY DATE时,仅按日期分组,但SELECT列表中包含了Feeling字段。这会导致数据库返回每个日期下任意一条的Feeling值,而非按情绪细分统计;同时COUNT(Feeling)统计的是该日期下的总记录数,和你需要的「每个日期下不同情绪的独立计数」不符。

解决方案1:按日期+情绪分组(基础统计结构)

如果要得到每个日期下各情绪的独立计数,需要同时按DATE和Feeling分组:

SELECT DATE, Feeling, COUNT(Feeling) AS FeelingCount
From Table
GROUP BY DATE, Feeling
ORDER BY DATE

该查询会返回每个日期与情绪的组合,以及对应的记录数,修正原查询的逻辑问题。

解决方案2:条件聚合(匹配透视表式预期输出)

如果要像你预期的那样,把不同情绪作为列展示(一行对应一个日期,各情绪列显示对应计数),需要使用条件聚合:

SELECT 
    DATE,
    COUNT(CASE WHEN Feeling = 'Happy' THEN 1 END) AS Happy,
    COUNT(CASE WHEN Feeling = 'Sad' THEN 1 END) AS Sad,
    COUNT(CASE WHEN Feeling = 'Calm' THEN 1 END) AS Calm
From Table
GROUP BY DATE
ORDER BY DATE

这种写法会将每个日期下的不同情绪计数拆分为单独列,完全匹配你给出的预期输出格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:15:49