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

Google BigQuery多条件平均值统计与分类查询需求

Google BigQuery 按月份统计Name月度平均百分比的区间分布

需求说明

针对包含Date、Name、Group、Percent字段的数据集,筛选Group='gr1'的数据后,按月份统计每个月份中各Name的月度Percent平均值所属区间的数量,区间划分如下:

  • <=25%
  • 25% < 值 <=50%
  • 50% < 值 <=75%
  • 75% < 值 <=100%
    结果需按月份排序,输出各区间对应的Name数量。

解决方案SQL

WITH monthly_avg AS (
    -- 计算每个Name每月的Percent平均值,筛选Group='gr1'
    SELECT
        EXTRACT(MONTH FROM Date) AS Month,
        Name,
        AVG(Percent) AS monthly_percent_avg
    FROM `table`
    WHERE Group = 'gr1'
    GROUP BY Month, Name
)
-- 按月份统计各区间的Name数量
SELECT
    Month,
    COUNT(CASE WHEN monthly_percent_avg <= 25 THEN 1 END) AS `<=25%`,
    COUNT(CASE WHEN monthly_percent_avg > 25 AND monthly_percent_avg <= 50 THEN 1 END) AS `25<_<=50%`,
    COUNT(CASE WHEN monthly_percent_avg > 50 AND monthly_percent_avg <= 75 THEN 1 END) AS `50<_<=75%`,
    COUNT(CASE WHEN monthly_percent_avg > 75 AND monthly_percent_avg <= 100 THEN 1 END) AS `75<_<=100%`
FROM monthly_avg
GROUP BY Month
ORDER BY Month;

逻辑解释

  1. 子查询monthly_avg:通过GROUP BY Month, Name,计算每个用户在每个月份的平均百分比,同时筛选出目标分组gr1的数据,解决了原查询未按月份计算用户平均值的问题。
  2. 外层统计:基于子查询得到的月度用户平均值,用CASE语句判断每个平均值的所属区间,再通过COUNT统计每个月份各区间内的用户数量,最后按月份排序输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:15:23