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

如何修改SQL查询以计算每日所有id的upload操作平均次数

解决方法

实现思路

要得到目标结果需要两次聚合计算:

  • 第一次聚合:按day和id分组,统计每个用户每日的upload操作次数
  • 第二次聚合:按day分组,对当日所有用户的操作次数求平均值

调整后的SQL语句

CTE写法(适配支持通用表表达式的SQL环境)

WITH user_daily_action AS (
    -- 统计每个id每天的upload操作次数
    SELECT 
        id,
        date_diff("day", create_date, date) as day,
        COUNT(*) as action_count
    FROM "my_database"
    WHERE action_type = 'upload' -- 过滤仅保留upload类型操作
    GROUP BY id, date_diff("day", create_date, date)
)
-- 按天计算所有用户操作次数的平均值
SELECT 
    day,
    AVG(action_count) as avg_num_action
FROM user_daily_action
GROUP BY day
ORDER BY day;

子查询写法(兼容所有SQL环境)

SELECT 
    day,
    AVG(action_count) as avg_num_action
FROM (
    SELECT 
        id,
        date_diff("day", create_date, date) as day,
        COUNT(*) as action_count
    FROM "my_database"
    WHERE action_type = 'upload'
    GROUP BY id, date_diff("day", create_date, date)
) t
GROUP BY day
ORDER BY day;

结果验证

  • day=0时,内层统计得到id1操作次数为3、id2操作次数为2,平均值为(3+2)/2=2.5,和预期一致
  • day=1时,内层统计得到id1操作次数为2、id2操作次数为1,平均值为(2+1)/2=1.5,和预期一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:18:02