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

统计Fitbit数据中各用户0步数天数失败:HAVING COUNT(x)=0无结果

问题分析与解决方法

错误原因

你当前的查询语句逻辑存在问题:

  • COUNT(totalsteps) 统计的是每个用户的总有效记录条数(非NULL的totalsteps记录数),而非步数为0的天数。
  • 你的测试数据中每个用户都有3条记录,因此COUNT(totalsteps)的结果均为3,HAVING COUNT(totalsteps) = 0的条件永远无法满足,所以返回无结果。

正确查询语句

方法1:仅统计有0步数记录的用户

SELECT id, COUNT(*) AS zero_step_days
FROM daily_activity_03_04
WHERE totalsteps = 0
GROUP BY id;

该语句先筛选出所有步数为0的记录,再按用户id分组统计数量,直接得到每个用户的0步数天数。

方法2:统计所有用户的0步数天数(含无0步数的用户)

如果需要保留所有用户(即使该用户没有0步数的日子),可以使用条件求和:

SELECT id, SUM(CASE WHEN totalsteps = 0 THEN 1 ELSE 0 END) AS zero_step_days
FROM daily_activity_03_04
GROUP BY id;

此方法会为每个用户计算步数为0的天数,没有0步数的用户会显示0。

测试数据验证结果

针对你提供的测试表,执行正确语句后会得到:

  • 用户1的0步数天数为1
  • 用户2的0步数天数为2
  • 用户3的0步数天数为3

内容的提问来源于stack exchange,提问作者Hazael Diaz Bernal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 23:39:55