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

SQL按月统计唯一user_id频次出现分组报错该如何解决

报错原因

当SQL使用GROUP BY分组查询时,SELECT子句中出现的字段必须满足两个条件之一:要么是GROUP BY指定的分组字段,要么是经过聚合函数计算后的结果。你原查询中SELECT了user_id字段,但该字段既没有出现在GROUP BY的分组规则里,也没有被聚合函数处理,数据库无法判断同一月份分组下的多个user_id该返回哪一个,因此触发报错。

正确查询语句

SELECT
  EXTRACT(MONTH FROM date) as month,
  COUNT(DISTINCT user_id) AS `count of unique user_id`
FROM
  TABLE
WHERE
  date >= '2020-09-01'
GROUP BY
  month
ORDER BY
  month

语句说明

  • COUNT(DISTINCT user_id)会自动统计每个月份分组下不重复的user_id总数,正好匹配你要的每月唯一ID数量统计需求
  • SELECT子句仅保留分组字段month和聚合计算后的计数字段,完全符合GROUP BY的语法规则
  • 额外增加的ORDER BY month会让查询结果按月份从小到大排序,和你预期的输出格式一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 01:57:03