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

SQL按15分钟时间间隔分组统计返回大量null值问题排查

问题原因

  • 核心问题是时间格式匹配错误:你声明InitiatedDateTimeGmt的存储格式为2021-01-04 00:00:00(对应标准格式yyyy-MM-dd HH:mm:ss),但你调用unix_timestamp(InitiatedDateTimeGmt, 'MM/dd/yyyy hh:mm:ss a')时传入的解析格式是「月/日/年+12小时制+上/下午标识」的格式,和实际存储的时间格式完全不匹配,导致绝大多数时间值解析失败返回null,后续所有转换操作基于null自然也返回null,最终就出现了大量null分组。
  • 其次存在冗余的时间转换操作:原语句反复在时间戳、时间字符串、时间类型之间来回转换,完全没有必要,额外增加了出错概率。

修正后的查询语句

SELECT 
    from_unixtime(FLOOR(UNIX_TIMESTAMP(InitiatedDateTimeGmt) / (15 * 60)) * (15 * 60)) AS GroupTime,
    COUNT(*) AS Cnt
FROM Chat
GROUP BY GroupTime
ORDER BY 1

如果使用的是MySQL环境,也可以用更易读的写法:

SELECT 
    DATE_FORMAT(InitiatedDateTimeGmt, '%Y-%m-%d %H:00:00') + INTERVAL (FLOOR(MINUTE(InitiatedDateTimeGmt)/15)*15) MINUTE AS GroupTime,
    COUNT(*) AS Cnt
FROM Chat
GROUP BY GroupTime
ORDER BY 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 12:45:02